Class: Squib::TextEmbed
- Inherits:
-
Object
- Object
- Squib::TextEmbed
- Defined in:
- lib/squib/api/text_embed.rb
Instance Method Summary collapse
-
#png(opts = {}) ⇒ Object
Context object for embedding a png within text.
-
#svg(opts = {}) ⇒ Object
Context object for embedding an svg icon within text.
Instance Method Details
#png(opts = {}) ⇒ Object
Context object for embedding a png within text
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/squib/api/text_embed.rb', line 75 def png(opts = {}) key = Args::EmbedKey.new.validate_key(opts[:key]) range = Args::CardRange.new(opts[:range], deck_size: @deck_size) paint = Args::Paint.new(@custom_colors).load!(opts, expand_by: @deck_size, layout: @layout) box = Args::Box.new(self, {width: :native, height: :native}).load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) adjust= Args::EmbedAdjust.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) trans = Args::Transform.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) ifile = Args::InputFile.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) rule = { type: :png, file: ifile, box: box, paint: paint, trans: trans, adjust: adjust } rule[:draw] = Proc.new do |card, x, y| i = card.index b = box[i] b.x, b.y = x, y Dir.chdir(@img_dir) do card.png(ifile[i].file, b, paint[i], trans[i]) end end @rules[key] = rule end |
#svg(opts = {}) ⇒ Object
Context object for embedding an svg icon within text
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/squib/api/text_embed.rb', line 41 def svg(opts = {}) key = Args::EmbedKey.new.validate_key(opts[:key]) range = Args::CardRange.new(opts[:range], deck_size: @deck_size) paint = Args::Paint.new(@custom_colors).load!(opts, expand_by: @deck_size, layout: @layout) box = Args::Box.new(self, {width: :native, height: :native}).load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) adjust= Args::EmbedAdjust.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) trans = Args::Transform.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) ifile = Args::InputFile.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) svg_args = Args::SvgSpecial.new.load!(opts, expand_by: @deck_size, layout: @layout, dpi: @dpi) rule = { type: :png, file: ifile, box: box, paint: paint, trans: trans, adjust: adjust } rule[:draw] = Proc.new do |card, x, y| i = card.index b = box[i] b.x, b.y = x, y Dir.chdir(@img_dir) do card.svg(ifile[i].file, svg_args[i], b, paint[i], trans[i]) end end @rules[key] = rule end |