22 changed files with 541 additions and 449 deletions
@ -1,49 +0,0 @@
|
||||
require_relative '../args/card_range' |
||||
require_relative '../args/paint' |
||||
require_relative '../args/scale_box' |
||||
require_relative '../args/transform' |
||||
require_relative '../args/input_file' |
||||
require_relative '../args/svg_special' |
||||
|
||||
module Squib |
||||
class Deck |
||||
|
||||
# DSL method. See http://squib.readthedocs.io |
||||
def png(opts = {}) |
||||
Dir.chdir(img_dir) do |
||||
range = Args::CardRange.new(opts[:range], deck_size: size) |
||||
paint = Args::Paint.new(custom_colors).load!(opts, expand_by: size, layout: layout) |
||||
box = Args::ScaleBox.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
trans = Args::Transform.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
ifile = Args::InputFile.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
@progress_bar.start('Loading PNG(s)', range.size) do |bar| |
||||
range.each do |i| |
||||
@cards[i].png(ifile[i].file, box[i], paint[i], trans[i]) |
||||
bar.increment |
||||
end |
||||
end |
||||
end |
||||
end |
||||
|
||||
# DSL method. See http://squib.readthedocs.io |
||||
def svg(opts = {}) |
||||
Dir.chdir(img_dir) do |
||||
range = Args::CardRange.new(opts[:range], deck_size: size) |
||||
paint = Args::Paint.new(custom_colors).load!(opts, expand_by: size, layout: layout) |
||||
box = Args::ScaleBox.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
trans = Args::Transform.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
ifile = Args::InputFile.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
svg_args = Args::SvgSpecial.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) |
||||
@progress_bar.start('Loading SVG(s)', range.size) do |bar| |
||||
range.each do |i| |
||||
if svg_args.render?(i) |
||||
@cards[i].svg(ifile[i].file, svg_args[i], box[i], paint[i], trans[i]) |
||||
end |
||||
bar.increment |
||||
end |
||||
end |
||||
end |
||||
end |
||||
|
||||
end |
||||
end |
||||
@ -0,0 +1,56 @@
|
||||
require_relative '../errors_warnings/warn_unexpected_params' |
||||
require_relative '../args/card_range' |
||||
require_relative '../args/paint' |
||||
require_relative '../args/scale_box' |
||||
require_relative '../args/transform' |
||||
require_relative '../args/input_file' |
||||
|
||||
module Squib |
||||
class Deck |
||||
def png(opts = {}) |
||||
DSL::PNG.new(self, __callee__).run(opts) |
||||
end |
||||
end |
||||
|
||||
module DSL |
||||
class PNG |
||||
include WarnUnexpectedParams |
||||
attr_reader :dsl_method, :deck |
||||
|
||||
def initialize(deck, dsl_method) |
||||
@deck = deck |
||||
@dsl_method = dsl_method |
||||
end |
||||
|
||||
def self.accepted_params |
||||
%i( |
||||
file |
||||
x y width height |
||||
alpha blend mask angle |
||||
crop_x crop_y crop_width crop_height |
||||
crop_corner_radius crop_corner_x_radius crop_corner_y_radius |
||||
flip_horizontal flip_vertical |
||||
range layout |
||||
) |
||||
end |
||||
|
||||
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 |
||||
deck.progress_bar.start('Loading PNG(s)', range.size) do |bar| |
||||
range.each do |i| |
||||
deck.cards[i].png(ifile[i].file, box[i], paint[i], trans[i]) |
||||
bar.increment |
||||
end |
||||
end |
||||
end |
||||
|
||||
end |
||||
end |
||||
end |
||||
end |
||||
@ -0,0 +1,43 @@
|
||||
require_relative '../errors_warnings/warn_unexpected_params' |
||||
require_relative '../args/card_range' |
||||
require_relative '../args/showcase_special' |
||||
require_relative '../args/sheet' |
||||
|
||||
module Squib |
||||
class Deck |
||||
def showcase(opts = {}) |
||||
DSL::Showcase.new(self, __callee__).run(opts) |
||||
end |
||||
end |
||||
|
||||
module DSL |
||||
class Showcase |
||||
include WarnUnexpectedParams |
||||
attr_reader :dsl_method, :deck |
||||
|
||||
def initialize(deck, dsl_method) |
||||
@deck = deck |
||||
@dsl_method = dsl_method |
||||
end |
||||
|
||||
def self.accepted_params |
||||
%i( |
||||
file dir |
||||
trim trim_radius |
||||
scale offset fill_color |
||||
reflect_offset reflect_strength reflect_percent |
||||
face margin |
||||
range |
||||
) |
||||
end |
||||
|
||||
def run(opts) |
||||
warn_if_unexpected opts |
||||
range = Args.extract_range opts, deck |
||||
showcase = Args.extract_showcase_special opts, deck |
||||
sheet = Args.extract_sheet opts, deck, { file: 'showcase.png' } |
||||
deck.render_showcase(range, sheet, showcase) |
||||
end |
||||
end |
||||
end |
||||
end |
||||
@ -0,0 +1,62 @@
|
||||
require_relative '../errors_warnings/warn_unexpected_params' |
||||
require_relative '../args/card_range' |
||||
require_relative '../args/paint' |
||||
require_relative '../args/scale_box' |
||||
require_relative '../args/transform' |
||||
require_relative '../args/input_file' |
||||
require_relative '../args/svg_special' |
||||
|
||||
module Squib |
||||
class Deck |
||||
def svg(opts = {}) |
||||
DSL::SVG.new(self, __callee__).run(opts) |
||||
end |
||||
end |
||||
|
||||
module DSL |
||||
class SVG |
||||
include WarnUnexpectedParams |
||||
attr_reader :dsl_method, :deck |
||||
|
||||
def initialize(deck, dsl_method) |
||||
@deck = deck |
||||
@dsl_method = dsl_method |
||||
end |
||||
|
||||
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 |
||||
) |
||||
end |
||||
|
||||
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 |
||||
end |
||||
end |
||||
end |
||||
Loading…
Reference in new issue