class Squib::DSL::SVG

Attributes

deck[R]
dsl_method[R]

Public Class Methods

accepted_params() click to toggle source
# File lib/squib/dsl/svg.rb, line 26
def self.accepted_params
  %i(
    file
    x y width height
    blend mask
    crop_x crop_y crop_width crop_height
    crop_corner_radius crop_corner_x_radius crop_corner_y_radius
    flip_horizontal flip_vertical angle
    id force_id data
    range layout
    placeholder
   )
end
new(deck, dsl_method) click to toggle source
# File lib/squib/dsl/svg.rb, line 21
def initialize(deck, dsl_method)
  @deck = deck
  @dsl_method = dsl_method
end

Public Instance Methods

run(opts) click to toggle source
# File lib/squib/dsl/svg.rb, line 40
def run(opts)
  warn_if_unexpected opts
  Dir.chdir(deck.img_dir) do
    range = Args.extract_range opts, deck
    paint = Args.extract_paint opts, deck
    box   = Args.extract_scale_box opts, deck
    trans = Args.extract_transform opts, deck
    ifile = Args.extract_input_file opts, deck
    svg_args = Args.extract_svg_special opts, deck
    deck.progress_bar.start('Loading PNG(s)', range.size) do |bar|
      range.each do |i|
        if svg_args.render?(i)
          deck.cards[i].svg(ifile[i].file, svg_args[i], box[i], paint[i],
                            trans[i])
        end
        bar.increment
      end
    end
  end

end