diff --git a/lib/squib/graphics/cairo_context_wrapper.rb b/lib/squib/graphics/cairo_context_wrapper.rb
index 9595485..c97bd7c 100644
--- a/lib/squib/graphics/cairo_context_wrapper.rb
+++ b/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
+ :antialias=, :curve_to, :matrix, :matrix=
# :nodoc:
# @api private
diff --git a/lib/squib/graphics/text.rb b/lib/squib/graphics/text.rb
index 1d29ada..bbf154c 100644
--- a/lib/squib/graphics/text.rb
+++ b/lib/squib/graphics/text.rb
@@ -115,6 +115,7 @@ module Squib
clean_str = layout.text
searches << { index: index, rule: rule }
end
+ # byebug
searches.each do |search|
rect = layout.index_to_pos(search[:index])
x = Pango.pixels(rect.x) + search[:rule][:dx]
@@ -138,7 +139,7 @@ module Squib
cc.translate(x,y)
cc.rotate(angle)
cc.move_to(0, 0)
- initial_matrix = cc.matrix.to_a
+ # initial_matrix = cc.matrix.to_a
font_desc = Pango::FontDescription.new(font)
font_desc.size = font_size * Pango::SCALE unless font_size.nil?
@@ -162,15 +163,17 @@ module Squib
cc.move_to(0, vertical_start)
cc.update_pango_layout(layout)
- before_show = cc.matrix.to_a
+ # before_show = cc.matrix.to_a
+ matrix = cc.matrix
cc.show_pango_layout(layout)
+ cc.matrix = matrix
begin
embed_draws.each { |ed| ed[:draw].call(self, ed[:x], ed[:y] + vertical_start) }
rescue Exception => e
puts "====EXCEPTION!===="
- puts "Initial matrix: #{initial_matrix}"
- puts "Before show matrix: #{before_show}"
- puts "Current matrix: #{cc.matrix.to_a}"
+ # puts "Initial matrix: #{initial_matrix}"
+ # puts "Before show matrix: #{before_show}"
+ # puts "Current matrix: #{cc.matrix.to_a}"
puts e
puts "=================="
end
diff --git a/samples/embed_text.rb b/samples/embed_text.rb
index b49dcd3..d548ae7 100644
--- a/samples/embed_text.rb
+++ b/samples/embed_text.rb
@@ -4,15 +4,15 @@ Squib::Deck.new do
background color: :white
rect x: 0, y: 0, width: 825, height: 1125, stroke_width: 2.0
- embed_text = 'Take 11 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse: if level 2.'
- text(str: embed_text, font: 'Sans 21',
- x: 0, y: 0, width: 180, hint: :red,
- align: :left, ellipsize: false, justify: false) do |embed|
- # Notice how we use dx and dy to adjust the icon to not rest directly on the baseline
- embed.svg key: ':tool:', width: 28, height: 28, dx: 0, dy: 4, file: 'spanner.svg'
- embed.svg key: ':health:', width: 28, height: 28, dx: -2, dy: 4, file: 'glass-heart.svg'
- embed.png key: ':purse:', width: 28, height: 28, dx: 0, dy: 4, file: 'shiny-purse.png'
- end
+ # embed_text = 'Take 11 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse: if level 2.'
+ # text(str: embed_text, font: 'Sans 21',
+ # x: 0, y: 0, width: 180, hint: :red,
+ # align: :left, ellipsize: false, justify: false) do |embed|
+ # # Notice how we use dx and dy to adjust the icon to not rest directly on the baseline
+ # embed.svg key: ':tool:', width: 28, height: 28, dx: 0, dy: 4, file: 'spanner.svg'
+ # embed.svg key: ':health:', width: 28, height: 28, dx: -2, dy: 4, file: 'glass-heart.svg'
+ # embed.png key: ':purse:', width: 28, height: 28, dx: 0, dy: 4, file: 'shiny-purse.png'
+ # end
embed_text = 'Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse:'
text(str: embed_text, font: 'Sans 21',
@@ -23,48 +23,48 @@ Squib::Deck.new do
embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
end
- embed_text = 'This :tool: aligns on the bottom properly. :purse:'
- text(str: embed_text, font: 'Sans 21',
- x: 400, y: 0, width: 180, height: 300, valign: :bottom,
- align: :left, ellipsize: false, justify: false, hint: :green) do |embed|
- embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
- embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
- embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
- end
+ # embed_text = 'This :tool: aligns on the bottom properly. :purse:'
+ # text(str: embed_text, font: 'Sans 21',
+ # x: 400, y: 0, width: 180, height: 300, valign: :bottom,
+ # align: :left, ellipsize: false, justify: false, hint: :green) do |embed|
+ # embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
+ # embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
+ # embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
+ # end
- embed_text = 'Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:'
- text(str: embed_text, font: 'Sans 21',
- x: 600, y: 0, width: 180, height: 300, valign: :middle,
- align: :left, ellipsize: false, justify: false, hint: :cyan) do |embed|
- embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
- end
+ # embed_text = 'Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:'
+ # text(str: embed_text, font: 'Sans 21',
+ # x: 600, y: 0, width: 180, height: 300, valign: :middle,
+ # align: :left, ellipsize: false, justify: false, hint: :cyan) do |embed|
+ # embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
+ # end
- embed_text = ':tool:Justify will :tool: work too, and :purse: with more words just for fun'
- text(str: embed_text, font: 'Sans 21',
- x: 0, y: 320, width: 180, height: 300, valign: :bottom,
- align: :left, ellipsize: false, justify: true, hint: :magenta) do |embed|
- embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
- embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
- embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
- end
+ # embed_text = ':tool:Justify will :tool: work too, and :purse: with more words just for fun'
+ # text(str: embed_text, font: 'Sans 21',
+ # x: 0, y: 320, width: 180, height: 300, valign: :bottom,
+ # align: :left, ellipsize: false, justify: true, hint: :magenta) do |embed|
+ # embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
+ # embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
+ # embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
+ # end
- embed_text = 'Right-aligned works :tool: with :health: and :purse:'
- text(str: embed_text, font: 'Sans 21',
- x: 200, y: 320, width: 180, height: 300, valign: :bottom,
- align: :right, ellipsize: false, justify: false, hint: :magenta) do |embed|
- embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
- embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
- embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
- end
+ # embed_text = 'Right-aligned works :tool: with :health: and :purse:'
+ # text(str: embed_text, font: 'Sans 21',
+ # x: 200, y: 320, width: 180, height: 300, valign: :bottom,
+ # align: :right, ellipsize: false, justify: false, hint: :magenta) do |embed|
+ # embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
+ # embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
+ # embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
+ # end
- embed_text = ':tool:Center-aligned works :tool: with :health: and :purse:'
- text(str: embed_text, font: 'Sans 21',
- x: 400, y: 320, width: 180, height: 300,
- align: :center, ellipsize: false, justify: false, hint: :magenta) do |embed|
- embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
- embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
- embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
- end
+ # embed_text = ':tool:Center-aligned works :tool: with :health: and :purse:'
+ # text(str: embed_text, font: 'Sans 21',
+ # x: 400, y: 320, width: 180, height: 300,
+ # align: :center, ellipsize: false, justify: false, hint: :magenta) do |embed|
+ # embed.svg key: ':tool:', width: 28, height: 28, file: 'spanner.svg'
+ # embed.svg key: ':health:', width: 28, height: 28, file: 'glass-heart.svg'
+ # embed.png key: ':purse:', width: 28, height: 28, file: 'shiny-purse.png'
+ # end
save_png prefix: 'embed_'
end
\ No newline at end of file
diff --git a/spec/data/samples/autoscale_font.rb.txt b/spec/data/samples/autoscale_font.rb.txt
index a71140d..376d80d 100644
--- a/spec/data/samples/autoscale_font.rb.txt
+++ b/spec/data/samples/autoscale_font.rb.txt
@@ -31,6 +31,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -54,6 +55,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -77,6 +79,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
diff --git a/spec/data/samples/basic.rb.txt b/spec/data/samples/basic.rb.txt
index c741939..9111317 100644
--- a/spec/data/samples/basic.rb.txt
+++ b/spec/data/samples/basic.rb.txt
@@ -83,6 +83,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -100,6 +101,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -117,6 +119,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -135,6 +138,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -153,6 +157,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -171,6 +176,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([620, 75])
diff --git a/spec/data/samples/csv_import.rb.txt b/spec/data/samples/csv_import.rb.txt
index 53bb41c..a1f89c7 100644
--- a/spec/data/samples/csv_import.rb.txt
+++ b/spec/data/samples/csv_import.rb.txt
@@ -24,6 +24,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -41,6 +42,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -58,6 +60,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -75,6 +78,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -92,6 +96,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -109,6 +114,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/sample_csv_00.png"])
surface: write_to_png(["_output/sample_csv_01.png"])
diff --git a/spec/data/samples/custom_config.rb.txt b/spec/data/samples/custom_config.rb.txt
index 4a2f45f..4019420 100644
--- a/spec/data/samples/custom_config.rb.txt
+++ b/spec/data/samples/custom_config.rb.txt
@@ -20,6 +20,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([620, 75])
diff --git a/spec/data/samples/embed_text.rb.txt b/spec/data/samples/embed_text.rb.txt
index 0a7552e..cfa6eeb 100644
--- a/spec/data/samples/embed_text.rb.txt
+++ b/spec/data/samples/embed_text.rb.txt
@@ -14,29 +14,6 @@ cairo: fill([])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
-cairo: translate([0, 0])
-cairo: rotate([0])
-cairo: move_to([0, 0])
-pango: font_description=([MockDouble])
-pango: text=(["Take 11 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse: if level 2."])
-pango: width=([184320])
-pango: wrap=([#])
-pango: ellipsize=([#])
-pango: alignment=([#])
-pango: justify=([false])
-pango: spacing=([0])
-cairo: update_pango_layout([MockDouble])
-pango: markup=(["Take 11 :tool: and gain 2 :health:. Take 2 :tool: and gain 3 :purse: if level 2."])
-cairo: move_to([0, 0])
-cairo: update_pango_layout([MockDouble])
-cairo: show_pango_layout([MockDouble])
-cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
-cairo: set_source_color([:red])
-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])
@@ -54,129 +31,10 @@ pango: markup=(["Middle align: Take 1 :tool: and gain 2 :health:. Take 2 :tool:
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
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])
-pango: font_description=([MockDouble])
-pango: text=(["This :tool: aligns on the bottom properly. :purse:"])
-pango: width=([184320])
-pango: height=([307200])
-pango: wrap=([#])
-pango: ellipsize=([#])
-pango: alignment=([#])
-pango: justify=([false])
-pango: spacing=([0])
-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: show_pango_layout([MockDouble])
-cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
-cairo: set_source_color([:green])
-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])
-pango: font_description=([MockDouble])
-pango: text=(["Wrapping multiples: These are 1 :tool::tool::tool: and these are multiple :tool::tool: :tool::tool:"])
-pango: width=([184320])
-pango: height=([307200])
-pango: wrap=([#])
-pango: ellipsize=([#])
-pango: alignment=([#])
-pango: justify=([false])
-pango: spacing=([0])
-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: show_pango_layout([MockDouble])
-cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
-cairo: set_source_color([:cyan])
-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])
-pango: font_description=([MockDouble])
-pango: text=([":tool:Justify will :tool: work too, and :purse: with more words just for fun"])
-pango: width=([184320])
-pango: height=([307200])
-pango: wrap=([#])
-pango: ellipsize=([#])
-pango: alignment=([#])
-pango: justify=([true])
-pango: spacing=([0])
-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: show_pango_layout([MockDouble])
-cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
-cairo: set_source_color([:magenta])
-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])
-pango: font_description=([MockDouble])
-pango: text=(["Right-aligned works :tool: with :health: and :purse:"])
-pango: width=([184320])
-pango: height=([307200])
-pango: wrap=([#])
-pango: ellipsize=([#])
-pango: alignment=([#])
-pango: justify=([false])
-pango: spacing=([0])
-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: show_pango_layout([MockDouble])
-cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
-cairo: set_source_color([:magenta])
-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])
-pango: font_description=([MockDouble])
-pango: text=([":tool:Center-aligned works :tool: with :health: and :purse:"])
-pango: width=([184320])
-pango: height=([307200])
-pango: wrap=([#])
-pango: ellipsize=([#])
-pango: alignment=([#])
-pango: justify=([false])
-pango: spacing=([0])
-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: show_pango_layout([MockDouble])
-cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
-cairo: set_source_color([:magenta])
-cairo: set_line_width([2.0])
-cairo: stroke([])
-cairo: restore([])
surface: write_to_png(["_output/embed_00.png"])
diff --git a/spec/data/samples/excel.rb.txt b/spec/data/samples/excel.rb.txt
index 5ff4b75..96f3bb4 100644
--- a/spec/data/samples/excel.rb.txt
+++ b/spec/data/samples/excel.rb.txt
@@ -29,6 +29,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -46,6 +47,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -63,6 +65,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -80,6 +83,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -97,6 +101,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -114,6 +119,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -131,6 +137,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -148,6 +155,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -165,6 +173,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/sample_excel_00.png"])
surface: write_to_png(["_output/sample_excel_01.png"])
diff --git a/spec/data/samples/gradients.rb.txt b/spec/data/samples/gradients.rb.txt
index 6b7c222..4c21630 100644
--- a/spec/data/samples/gradients.rb.txt
+++ b/spec/data/samples/gradients.rb.txt
@@ -63,5 +63,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/gradient_00.png"])
diff --git a/spec/data/samples/hello_world.rb.txt b/spec/data/samples/hello_world.rb.txt
index 41169a0..d5e2ae9 100644
--- a/spec/data/samples/hello_world.rb.txt
+++ b/spec/data/samples/hello_world.rb.txt
@@ -16,6 +16,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -33,6 +34,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/card_00.png"])
surface: write_to_png(["_output/card_01.png"])
diff --git a/spec/data/samples/portrait-landscape.rb.txt b/spec/data/samples/portrait-landscape.rb.txt
index 901f11e..0e4c748 100644
--- a/spec/data/samples/portrait-landscape.rb.txt
+++ b/spec/data/samples/portrait-landscape.rb.txt
@@ -19,6 +19,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/portrait_00.png"])
cairo: antialias=(["subpixel"])
@@ -42,6 +43,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: translate([412.5, 562.5])
cairo: rotate([1.5707963267948966])
diff --git a/spec/data/samples/ranges.rb.txt b/spec/data/samples/ranges.rb.txt
index 851cc56..85de731 100644
--- a/spec/data/samples/ranges.rb.txt
+++ b/spec/data/samples/ranges.rb.txt
@@ -29,6 +29,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -46,6 +47,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -63,6 +65,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -80,6 +83,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -97,6 +101,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -114,6 +119,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -132,6 +138,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -150,6 +157,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -168,6 +176,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -185,6 +194,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -202,6 +212,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -219,6 +230,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -236,6 +248,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -253,6 +266,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -270,6 +284,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -287,6 +302,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -304,6 +320,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:red])
@@ -321,6 +338,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:green])
@@ -338,6 +356,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:blue])
@@ -355,6 +374,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -372,6 +392,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -389,6 +410,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -406,6 +428,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -423,6 +446,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
surface: write_to_png(["_output/ranges_00.png"])
surface: write_to_png(["_output/ranges_01.png"])
diff --git a/spec/data/samples/saves.rb.txt b/spec/data/samples/saves.rb.txt
index 49b43ea..d73c7bc 100644
--- a/spec/data/samples/saves.rb.txt
+++ b/spec/data/samples/saves.rb.txt
@@ -238,6 +238,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -255,6 +256,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -272,6 +274,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -289,6 +292,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -306,6 +310,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -323,6 +328,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -340,6 +346,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -357,6 +364,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -374,6 +382,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -391,6 +400,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -408,6 +418,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -425,6 +436,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -442,6 +454,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -459,6 +472,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -476,6 +490,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -493,6 +508,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: translate([75, 75])
cairo: rectangle([37, 37, 751, 1051])
diff --git a/spec/data/samples/showcase.rb.txt b/spec/data/samples/showcase.rb.txt
index 4b7aa99..69b9b1c 100644
--- a/spec/data/samples/showcase.rb.txt
+++ b/spec/data/samples/showcase.rb.txt
@@ -71,6 +71,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -89,6 +90,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -107,6 +109,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -125,6 +128,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([162, 500])
diff --git a/spec/data/samples/text_options.rb.txt b/spec/data/samples/text_options.rb.txt
index 002fc6e..371cdd2 100644
--- a/spec/data/samples/text_options.rb.txt
+++ b/spec/data/samples/text_options.rb.txt
@@ -83,6 +83,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -100,6 +101,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -117,6 +119,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
@@ -134,6 +137,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
@@ -151,6 +155,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
@@ -168,6 +173,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -185,6 +191,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -202,6 +209,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -219,6 +227,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -236,6 +245,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -253,6 +263,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -270,6 +281,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -288,6 +300,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -306,6 +319,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -324,6 +338,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -343,6 +358,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -366,6 +382,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -389,6 +406,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -411,6 +429,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -429,6 +448,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -447,6 +467,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([60, 545, 10, 10, 10, 10])
@@ -493,6 +514,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
@@ -516,6 +538,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
@@ -539,6 +562,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
@@ -560,6 +584,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -577,6 +602,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -594,6 +620,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -611,6 +638,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -628,6 +656,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -645,6 +674,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -662,6 +692,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -683,6 +714,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -704,6 +736,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -727,6 +760,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -746,6 +780,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -765,6 +800,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -784,6 +820,7 @@ pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, t
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -803,6 +840,7 @@ pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, t
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -822,6 +860,7 @@ pango: markup=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, t
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -842,6 +881,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
@@ -866,6 +906,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
@@ -890,6 +931,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
diff --git a/spec/data/samples/tgc_proofs.rb.txt b/spec/data/samples/tgc_proofs.rb.txt
index d16876a..5581b02 100644
--- a/spec/data/samples/tgc_proofs.rb.txt
+++ b/spec/data/samples/tgc_proofs.rb.txt
@@ -37,6 +37,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -55,6 +56,7 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
+cairo: matrix=([MockDouble])
cairo: restore([])
cairo: save([])
cairo: translate([620, 75])
diff --git a/spec/graphics/graphics_text_spec.rb b/spec/graphics/graphics_text_spec.rb
index 058bf6c..b920641 100644
--- a/spec/graphics/graphics_text_spec.rb
+++ b/spec/graphics/graphics_text_spec.rb
@@ -40,7 +40,9 @@ describe Squib::Card, '#text' do
expect(layout ).to receive(:height).once.and_return(25)
expect(layout ).to receive(:extents).thrice.and_return([nil,extent])
expect(context).to receive(:update_pango_layout).once
+ expect(context).to receive(:matrix).and_return(nil).once
expect(context).to receive(:show_pango_layout).once
+ expect(context).to receive(:matrix=).once
expect(context).to receive(:restore).once
card = Squib::Card.new(deck, 100, 150)
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 88482dd..5d1a80b 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -58,8 +58,10 @@ def mock_cairo(strio)
cxt = double(Cairo::Context)
surface = double(Cairo::ImageSurface)
pango = double(Pango::Layout)
+
font = double(Pango::FontDescription)
iter = double('pango_iter')
+ matrix = double('matrix')
allow(Squib.logger).to receive(:warn) {}
allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new)
allow(Cairo::ImageSurface).to receive(:new).and_return(surface)
@@ -68,6 +70,7 @@ def mock_cairo(strio)
allow(Cairo::Context).to receive(:new).and_return(cxt)
allow(cxt).to receive(:create_pango_layout).and_return(pango)
allow(cxt).to receive(:target).and_return(surface)
+ allow(cxt).to receive(:matrix).and_return(matrix)
allow(pango).to receive(:height).and_return(25)
allow(pango).to receive(:width).and_return(25)
allow(pango).to receive(:index_to_pos).and_return(Pango::Rectangle.new(0,0,0,0))
@@ -85,7 +88,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).each do |m|
+ reset_clip antialias= curve_to matrix=).each do |m|
allow(cxt).to receive(m) { |*args| strio << scrub_hex("cairo: #{m}(#{args})\n") }
end