Browse Source

Text: outline a string with a color or gradient

Fill color is still the same with 'color' (i.e. can be overridden by markup still), but now there's a stroke_width and a stroke_color option that, when stroke_width > 0, will draw an outline below the text. Since this isn't a Pango feature, we can't do markup for outlines. (Maybe make that a feature request to Pango if you want it.)

Implements #51
dev
Andy Meneely 11 years ago
parent
commit
7c69cad506
  1. 8
      lib/squib/api/text.rb
  2. 2
      lib/squib/graphics/cairo_context_wrapper.rb
  3. 15
      lib/squib/graphics/text.rb
  4. 4
      samples/text_options.rb
  5. 6
      spec/data/samples/autoscale_font.rb.txt
  6. 12
      spec/data/samples/basic.rb.txt
  7. 6
      spec/data/samples/config_text_markup.rb.txt
  8. 12
      spec/data/samples/csv_import.rb.txt
  9. 2
      spec/data/samples/custom_config.rb.txt
  10. 22
      spec/data/samples/embed_text.rb.txt
  11. 18
      spec/data/samples/excel.rb.txt
  12. 2
      spec/data/samples/gradients.rb.txt
  13. 4
      spec/data/samples/hello_world.rb.txt
  14. 4
      spec/data/samples/portrait-landscape.rb.txt
  15. 48
      spec/data/samples/ranges.rb.txt
  16. 32
      spec/data/samples/saves.rb.txt
  17. 8
      spec/data/samples/showcase.rb.txt
  18. 153
      spec/data/samples/text_options.rb.txt
  19. 4
      spec/data/samples/tgc_proofs.rb.txt
  20. 31
      spec/graphics/graphics_text_spec.rb
  21. 2
      spec/spec_helper.rb

8
lib/squib/api/text.rb

@ -37,13 +37,16 @@ module Squib
# @option opts valign [:top, :middle, :bottom] (:top) When width and height are set, align text vertically according to the ink extents of the text.
# @option opts ellipsize [:none, :start, :middle, :end, true, false] (:end) When width and height are set, determines the behavior of overflowing text. Also: `true` maps to `:end` and `false` maps to `:none`. Default `:end`
# @option opts angle [FixNum] (0) Rotation of the text in radians. Note that this rotates around the upper-left corner of the text box, making the placement of x-y coordinates slightly tricky.
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the rectangle. {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
# @option opts hint [String] (:nil) draw a rectangle around the text with the given color. Overrides global hints (see {Deck#hint}).
# @return [Array] Returns an Array of hashes keyed by :width and :height that mark the ink extents of the text rendered.
# @api public
def text(opts = {})
opts = { stroke_width: 0 }.merge(opts)
opts = needs(opts, [:range, :str, :font, :font_size, :x, :y, :width, :height, :color, :wrap,
:align, :justify, :spacing, :valign, :markup, :ellipsize, :hint, :layout,
:angle, :quotes])
:angle, :quotes, :stroke_color, :stroke_width])
embed = TextEmbed.new
yield(embed) if block_given? #store the opts for later use
extents = Array.new(@cards.size)
@ -53,7 +56,8 @@ module Squib
opts[:x][i], opts[:y][i], opts[:width][i], opts[:height][i],
opts[:markup][i], opts[:justify][i], opts[:wrap][i],
opts[:ellipsize][i], opts[:spacing][i], opts[:align][i],
opts[:valign][i], opts[:hint][i], opts[:angle][i])
opts[:valign][i], opts[:hint][i], opts[:angle][i],
opts[:stroke_color][i], opts[:stroke_width][i] )
end
return extents
end

2
lib/squib/graphics/cairo_context_wrapper.rb

@ -22,7 +22,7 @@ module Squib
:show_pango_layout, :rounded_rectangle, :set_line_width, :stroke, :fill,
:set_source, :scale, :render_rsvg_handle, :circle, :triangle, :line_to,
:operator=, :show_page, :clip, :transform, :mask, :create_pango_layout,
:antialias=, :curve_to, :matrix, :matrix=, :identity_matrix
:antialias=, :curve_to, :matrix, :matrix=, :identity_matrix, :pango_layout_path
# :nodoc:
# @api private

15
lib/squib/graphics/text.rb

@ -143,17 +143,26 @@ module Squib
return draw_calls
end
def stroke_outline!(cc, layout, stroke_width, stroke_color)
if stroke_width > 0
cc.set_source_squibcolor(stroke_color)
cc.set_line_width(stroke_width)
cc.pango_layout_path(layout)
cc.stroke
end
end
# :nodoc:
# @api private
def text(embed,str, font, font_size, color,
x, y, width, height,
markup, justify, wrap, ellipsize,
spacing, align, valign, hint, angle)
spacing, align, valign, hint, angle,
stroke_color, stroke_width)
Squib.logger.debug {"Placing '#{str}'' with font '#{font}' @ #{x}, #{y}, color: #{color}, angle: #{angle} etc."}
extents = nil
str = str.to_s
use_cairo do |cc|
cc.set_source_squibcolor(color)
cc.translate(x,y)
cc.rotate(angle)
cc.move_to(0, 0)
@ -184,6 +193,8 @@ module Squib
cc.move_to(0, vertical_start)
cc.update_pango_layout(layout)
stroke_outline!(cc, layout, stroke_width, stroke_color)
cc.set_source_squibcolor(color)
cc.show_pango_layout(layout)
begin
embed_draws.each { |ed| ed[:draw].call(self, ed[:x], ed[:y] + vertical_start) }

4
samples/text_options.rb

@ -78,6 +78,10 @@ Squib::Deck.new(width: 825, height: 1125, cards: 3) do
embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
end
text str: "Stroke n <span fgcolor=\"\#ff0000\">fill</span>",
color: :green, stroke_width: 3.0, stroke_color: :blue,
x: '1.8in', y: '3in', width: '0.85in', font: 'Sans Bold 26', markup: true
text str: "<b>Markup</b> is <i>quite</i> <s>'easy'</s> <span fgcolor=\"\#ff0000\">awesome</span>. Can't beat those \"smart\" 'quotes', now with 10--20% more en-dashes --- and em-dashes --- with explicit ellipses too...",
markup: true,
x: 50, y: 1000,

6
spec/data/samples/autoscale_font.rb.txt

@ -14,7 +14,6 @@ cairo: set_source_color([:white])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -30,6 +29,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -37,7 +37,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -53,6 +52,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -60,7 +60,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -76,6 +75,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])

12
spec/data/samples/basic.rb.txt

@ -68,7 +68,6 @@ cairo: set_source_color(["#0000"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -82,10 +81,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -99,10 +98,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -116,10 +115,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 85])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -134,10 +133,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 85])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -152,10 +151,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 85])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -170,6 +169,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])

6
spec/data/samples/config_text_markup.rb.txt

@ -4,7 +4,6 @@ cairo: set_source_color([:white])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -21,6 +20,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -28,7 +28,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([320, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -44,12 +43,12 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/config_text_00.png"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -66,6 +65,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])

12
spec/data/samples/csv_import.rb.txt

@ -9,7 +9,6 @@ cairo: set_source_color([:white])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -23,10 +22,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -40,10 +39,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 65])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -57,10 +56,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 65])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -74,10 +73,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 600])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -91,10 +90,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 600])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -108,6 +107,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/sample_csv_00.png"])

2
spec/data/samples/custom_config.rb.txt

@ -4,7 +4,6 @@ cairo: set_source_color(["#ccc"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -19,6 +18,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color(["#FF0000"])

22
spec/data/samples/embed_text.rb.txt

@ -13,7 +13,6 @@ cairo: set_source_color(["#0000"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -29,6 +28,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Take 11 :tool: and gain 2 :health:. Take <b>2</b> :tool: <i>and gain 3 :purse: if level 2.</i>"])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -36,7 +36,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([200, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -53,6 +52,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:"])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -60,7 +60,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([400, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -77,6 +76,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["This :tool: aligns on the bottom properly. :purse:"])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
@ -84,7 +84,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([600, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -101,6 +100,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -108,7 +108,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -125,6 +124,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=([":tool:Justify will :tool: work too, and :purse: with more words just for fun"])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
@ -132,7 +132,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([200, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -149,6 +148,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Right-aligned works :tool: with :health: and :purse:"])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
@ -156,7 +156,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([400, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -173,6 +172,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=([":tool:Center-aligned works :tool: with :health: and :purse:"])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
@ -180,7 +180,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([600, 320])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -198,6 +197,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["foo"])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:magenta])
@ -209,7 +209,6 @@ cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -227,6 +226,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Take 1 :tool: and gain 2 :health:."])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -234,7 +234,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -252,6 +251,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Take 1 :tool: and gain 2 :health:."])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -259,7 +259,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -277,6 +276,7 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Take 1 :tool: and gain 2 :health:."])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])

18
spec/data/samples/excel.rb.txt

@ -14,7 +14,6 @@ cairo: set_source_color([:white])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -28,10 +27,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -45,10 +44,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -62,10 +61,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 65])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -79,10 +78,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 65])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -96,10 +95,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 65])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -113,10 +112,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 600])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -130,10 +129,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 600])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -147,10 +146,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 600])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -164,6 +163,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/sample_excel_00.png"])

2
spec/data/samples/gradients.rb.txt

@ -48,7 +48,6 @@ cairo: set_source([LinearPattern])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source([LinearPattern])
cairo: translate([75, 700])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -62,6 +61,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source([LinearPattern])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/gradient_00.png"])

4
spec/data/samples/hello_world.rb.txt

@ -1,7 +1,6 @@
cairo: antialias=(["subpixel"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -15,10 +14,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -32,6 +31,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/card_00.png"])

4
spec/data/samples/portrait-landscape.rb.txt

@ -4,7 +4,6 @@ cairo: set_source_color(["#aaa"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -18,6 +17,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/portrait_00.png"])
@ -27,7 +27,6 @@ cairo: set_source_color(["#aaa"])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([0, 0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -41,6 +40,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: translate([412.5, 562.5])

48
spec/data/samples/ranges.rb.txt

@ -14,7 +14,6 @@ cairo: set_source_color([:white])
cairo: paint([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -28,10 +27,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -45,10 +44,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -62,10 +61,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 40])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -79,10 +78,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 40])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -96,10 +95,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 40])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -113,10 +112,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([40, 128])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -131,10 +130,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([40, 128])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -149,10 +148,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([40, 128])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -167,10 +166,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 200])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -184,10 +183,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 200])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -201,10 +200,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 250])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -218,10 +217,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 250])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -235,10 +234,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 650])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -252,10 +251,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 650])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -269,10 +268,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 300])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -286,10 +285,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 300])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -303,10 +302,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:red])
cairo: translate([40, 700])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -320,10 +319,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:red])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:green])
cairo: translate([80, 750])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -337,10 +336,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:green])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:blue])
cairo: translate([120, 800])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -354,10 +353,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:blue])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -371,10 +370,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -388,10 +387,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 500])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -405,10 +404,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([25, 500])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -422,6 +421,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/ranges_00.png"])

32
spec/data/samples/saves.rb.txt

@ -223,7 +223,6 @@ cairo: set_source_color(["#0000"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -237,10 +236,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -254,10 +253,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -271,10 +270,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -288,10 +287,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -305,10 +304,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -322,10 +321,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -339,10 +338,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -356,10 +355,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -373,10 +372,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -390,10 +389,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -407,10 +406,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -424,10 +423,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -441,10 +440,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -458,10 +457,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -475,10 +474,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -492,6 +491,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: scale([0.24, 0.24])

8
spec/data/samples/showcase.rb.txt

@ -55,7 +55,6 @@ cairo: set_source_color(["#DED4B9"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([78, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -70,10 +69,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([78, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -88,10 +87,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([78, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -106,10 +105,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([78, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -124,6 +123,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])

153
spec/data/samples/text_options.rb.txt

@ -68,7 +68,6 @@ cairo: set_source_color(["#0000"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -82,10 +81,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -99,10 +98,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([250, 55])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -116,10 +115,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
cairo: translate([65, 40])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -133,10 +132,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:burnt_orange])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
cairo: translate([65, 40])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -150,10 +149,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:burnt_orange])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
cairo: translate([65, 40])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -167,10 +166,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:burnt_orange])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 200])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -184,10 +183,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 200])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -201,10 +200,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 200])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -218,10 +217,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 300])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -235,10 +234,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 300])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -252,10 +251,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 300])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -269,10 +268,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 350])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -287,10 +286,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 350])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -305,10 +304,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 350])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -323,10 +322,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -342,6 +341,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -349,7 +349,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -365,6 +364,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -372,7 +372,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -388,6 +387,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -395,7 +395,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 550])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -410,10 +409,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 550])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -428,10 +427,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 550])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -446,6 +445,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
@ -476,7 +476,6 @@ cairo: set_source_color(["#0000"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([450, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -492,6 +491,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
@ -499,7 +499,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([450, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -515,6 +514,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
@ -522,7 +522,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([450, 400])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -538,6 +537,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
@ -545,7 +545,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 625])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -559,6 +558,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -566,7 +566,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 625])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -580,6 +579,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -587,7 +587,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 625])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -601,6 +600,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -608,7 +608,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([565, 625])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -622,10 +621,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([565, 625])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -639,10 +638,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([565, 625])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -656,10 +655,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([565, 675])
cairo: rotate([0.2])
cairo: move_to([0, 0])
@ -673,6 +672,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -680,7 +680,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([565, 675])
cairo: rotate([0.2])
cairo: move_to([0, 0])
@ -694,6 +693,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -701,7 +701,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([565, 675])
cairo: rotate([0.2])
cairo: move_to([0, 0])
@ -715,6 +714,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
@ -722,7 +722,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 700])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -738,10 +737,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 700])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -757,10 +756,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([65, 700])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -776,10 +775,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([540.0, 750.0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -795,10 +794,10 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([540.0, 750.0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -814,10 +813,10 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([540.0, 750.0])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -833,10 +832,79 @@ cairo: update_pango_layout([MockDouble])
pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([540.0, 900.0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Stroke n <span fgcolor=\"#ff0000\">fill</span>"])
pango: markup=(["foo"])
pango: width=([261120.0])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:blue])
cairo: set_line_width([3.0])
cairo: pango_layout_path([MockDouble])
cairo: stroke([])
cairo: set_source_color([:green])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([540.0, 900.0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Stroke n <span fgcolor=\"#ff0000\">fill</span>"])
pango: markup=(["foo"])
pango: width=([261120.0])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:blue])
cairo: set_line_width([3.0])
cairo: pango_layout_path([MockDouble])
cairo: stroke([])
cairo: set_source_color([:green])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([540.0, 900.0])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["Stroke n <span fgcolor=\"#ff0000\">fill</span>"])
pango: markup=(["foo"])
pango: width=([261120.0])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:blue])
cairo: set_line_width([3.0])
cairo: pango_layout_path([MockDouble])
cairo: stroke([])
cairo: set_source_color([:green])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([50, 1000])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -853,6 +921,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -860,7 +929,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([50, 1000])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -877,6 +945,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
@ -884,7 +953,6 @@ cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([50, 1000])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -901,6 +969,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])

4
spec/data/samples/tgc_proofs.rb.txt

@ -22,7 +22,6 @@ cairo: set_source_color(["#0000"])
cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([220, 78])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -36,10 +35,10 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([75, 85])
cairo: rotate([0])
cairo: move_to([0, 0])
@ -54,6 +53,7 @@ pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: set_source_color([:black])
cairo: show_pango_layout([MockDouble])
cairo: restore([])
cairo: save([])

31
spec/graphics/graphics_text_spec.rb

@ -52,11 +52,12 @@ describe Squib::Card, '#text' do
# text(str, font, font_size, color,
# x, y, width, height,
# markup, justify, wrap, ellipsize,
# spacing, align, valign, hint, angle)
# spacing, align, valign, hint, angle,
# stroke_width, stroke_color)
ret = card.text(Squib::TextEmbed.new,'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 25,
nil, false, false, false,
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
expect(ret).to eq({width: 0, height: 0})
end
end
@ -83,7 +84,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, false, false,
1.0, 'right', :top, nil, 0.0)
1.0, 'right', :top, nil, 0.0, '#fff', 0)
end
it 'aligns center with strings' do
@ -92,7 +93,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, false, false,
1.0, 'center', :top, nil, 0.0)
1.0, 'center', :top, nil, 0.0, '#fff', 0)
end
it 'sets wrap to char with string char' do
@ -101,7 +102,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, 'char', false,
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
end
it 'sets wrap to word with word string' do
@ -110,7 +111,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, 'word', false,
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
end
it 'sets wrap to word_char with symbol word_char' do
@ -119,7 +120,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, :word_char, false,
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
end
it 'sets wrap to word_char with true' do
@ -128,7 +129,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, true, false,
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
end
it 'sets ellipsize to start properly' do
@ -137,7 +138,7 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, true, :start,
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
end
it 'sets ellipsize to middle properly' do
@ -146,7 +147,17 @@ describe Squib::Card, '#text' do
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, true, 'middle',
1.0, :left, :top, nil, 0.0)
1.0, :left, :top, nil, 0.0, '#fff', 0)
end
it 'implements stroke and fill when asked to' do
card = Squib::Card.new(deck, 100, 150)
expect(context).to receive(:set_line_width).with(3.0).once
expect(context).to receive(:pango_layout_path).once
card.text(Squib::TextEmbed.new, 'foo', 'Sans 12', nil, '#abc',
10, 15, 20, 50,
nil, false, true, 'middle',
1.0, :left, :top, nil, 0.0, '#f00', 3.0)
end
end

2
spec/spec_helper.rb

@ -102,7 +102,7 @@ def mock_cairo(strio)
update_pango_layout width height show_pango_layout rounded_rectangle
set_line_width stroke fill set_source scale render_rsvg_handle circle
triangle line_to operator= show_page clip transform mask rectangle
reset_clip antialias= curve_to matrix=).each do |m|
reset_clip antialias= curve_to matrix= pango_layout_path).each do |m|
allow(cxt).to receive(m) { |*args| strio << scrub_hex("cairo: #{m}(#{args})\n") }
end

Loading…
Cancel
Save