lib/squib/args/sheet.rb in squib-0.12.0 vs lib/squib/args/sheet.rb in squib-0.13.0
- old
+ new
@@ -58,10 +58,14 @@
arg.to_s.split.collect do |x|
UnitConversion.parse(x, @dpi).to_f
end
end
+ def validate_crop_marks(arg)
+ arg.to_s.downcase.to_sym unless arg == false
+ end
+
def validate_fill_color(arg)
colorify(arg, @custom_colors)
end
def validate_dir(arg)
@@ -83,43 +87,71 @@
def full_filename
"#{dir}/#{file}"
end
def crop_coords(x, y, deck_w, deck_h)
- [
- { # Vertical, Upper-left
- x1: x + trim + crop_margin_left, y1: 0,
- x2: x + trim + crop_margin_left, y2: margin - 1
- },
- { # Vertical , Upper-right
- x1: x + deck_w - trim - crop_margin_right, y1: 0,
- x2: x + deck_w - trim - crop_margin_right, y2: margin - 1
- },
- { # Vertical , Lower-left
- x1: x + trim + crop_margin_left, y1: height,
- x2: x + trim + crop_margin_left, y2: height - margin + 1
- },
- { # Vertical , Lower-right
- x1: x + deck_w - trim - crop_margin_right, y1: height,
- x2: x + deck_w - trim - crop_margin_right, y2: height - margin + 1
- },
- { # Horizont al, Upper-left
- x1: 0 , y1: y + trim + crop_margin_top,
- x2: margin - 1, y2: y + trim + crop_margin_top
- },
- { # Horizontal, Upper-Right
- x1: width , y1: y + trim + crop_margin_top,
- x2: width - margin + 1, y2: y + trim + crop_margin_top
- },
- { # Horizontal, Lower-Left
- x1: 0 , y1: y + deck_h - trim - crop_margin_bottom,
- x2: margin - 1, y2: y + deck_h - trim - crop_margin_bottom
- },
- { # Horizontal, Lower-Right
- x1: width, y1: y + deck_h - trim - crop_margin_bottom,
- x2: width - margin + 1, y2: y + deck_h - trim - crop_margin_bottom
- },
- ]
+ case crop_marks
+ when false
+ []
+ when :full
+ [
+ {
+ # Vertical, Left
+ x1: x + trim + crop_margin_left, y1: 0,
+ x2: x + trim + crop_margin_left, y2: height - margin + 1
+ },
+ {
+ # Vertical, Right
+ x1: x + deck_w - trim - crop_margin_right, y1: 0,
+ x2: x + deck_w - trim - crop_margin_right, y2: height - margin + 1
+ },
+ {
+ # Horizontal, Top
+ x1: 0 , y1: y + trim + crop_margin_top,
+ x2: width - margin + 1, y2: y + trim + crop_margin_top
+ },
+ {
+ # Horizontal, Bottom
+ x1: 0 , y1: y + deck_h - trim - crop_margin_bottom,
+ x2: width - margin + 1, y2: y + deck_h - trim - crop_margin_bottom
+ },
+ ]
+ else # e.g. :margin
+ [
+ { # Vertical, Upper-left
+ x1: x + trim + crop_margin_left, y1: 0,
+ x2: x + trim + crop_margin_left, y2: margin - 1
+ },
+ { # Vertical , Upper-right
+ x1: x + deck_w - trim - crop_margin_right, y1: 0,
+ x2: x + deck_w - trim - crop_margin_right, y2: margin - 1
+ },
+ { # Vertical , Lower-left
+ x1: x + trim + crop_margin_left, y1: height,
+ x2: x + trim + crop_margin_left, y2: height - margin + 1
+ },
+ { # Vertical , Lower-right
+ x1: x + deck_w - trim - crop_margin_right, y1: height,
+ x2: x + deck_w - trim - crop_margin_right, y2: height - margin + 1
+ },
+ { # Horizontal, Upper-left
+ x1: 0 , y1: y + trim + crop_margin_top,
+ x2: margin - 1, y2: y + trim + crop_margin_top
+ },
+ { # Horizontal, Upper-Right
+ x1: width , y1: y + trim + crop_margin_top,
+ x2: width - margin + 1, y2: y + trim + crop_margin_top
+ },
+ { # Horizontal, Lower-Left
+ x1: 0 , y1: y + deck_h - trim - crop_margin_bottom,
+ x2: margin - 1, y2: y + deck_h - trim - crop_margin_bottom
+ },
+ { # Horizontal, Lower-Right
+ x1: width, y1: y + deck_h - trim - crop_margin_bottom,
+ x2: width - margin + 1, y2: y + deck_h - trim - crop_margin_bottom
+ },
+ ]
+ end
end
end
end