diff --git a/lib/squib/graphics/cairo_context_wrapper.rb b/lib/squib/graphics/cairo_context_wrapper.rb
index c97bd7c..843569e 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, :matrix=
+ :antialias=, :curve_to, :matrix, :matrix=, :identity_matrix
# :nodoc:
# @api private
diff --git a/lib/squib/graphics/text.rb b/lib/squib/graphics/text.rb
index f0f1a67..ad17679 100644
--- a/lib/squib/graphics/text.rb
+++ b/lib/squib/graphics/text.rb
@@ -98,6 +98,15 @@ module Squib
ret_key
end
+ # When we do embedded icons, we create a 3-character string that has a font
+ # size of zero and a letter-spacing that fits the icon we need. That gives
+ # us the wrapping behavior we need but no clutter beneath. On most
+ # platforms, this works fine. On Linux, this creates
+ # a Cairo transformation matrix that
+ ZERO_WIDTH_CHAR_SIZE = 0 # this works on most platforms
+ # some platforms make this Pango pixels (1/1024), others a 1 pt font
+ ZERO_WIDTH_CHAR_SIZE = 1 if RbConfig::CONFIG['host_os'] === 'linux-gnu'
+
# :nodoc:
# @api private
def process_embeds(embed, str, layout)
@@ -110,7 +119,7 @@ module Squib
rule = embed.rules[key]
spacing = rule[:width] * Pango::SCALE
index = clean_str.index(key)
- str.sub!(key, "aaa")
+ str.sub!(key, "aaa")
layout.markup = str
clean_str = layout.text
searches << { index: index, rule: rule }
@@ -162,22 +171,16 @@ module Squib
cc.move_to(0, vertical_start)
cc.update_pango_layout(layout)
- # before_show = cc.matrix.to_a
- m = cc.matrix.to_a || [1,0,0,1,0,0]
cc.show_pango_layout(layout)
begin
- cc.matrix = Cairo::Matrix.new(m[0],m[1],m[2],m[3],m[4],m[5])
+ embed_draws.each { |ed| ed[:draw].call(self, ed[:x], ed[:y] + vertical_start) }
rescue Exception => e
- cc.matrix = Cairo::Matrix.new(1, 0, 0, 1, 0, 0)
puts "====EXCEPTION!===="
- puts "Matrix: #{m}"
- # puts "Initial matrix: #{initial_matrix}"
- # puts "Before show matrix: #{before_show}"
- # puts "Current matrix: #{cc.matrix.to_a}"
puts e
+ puts "If this was a non-invertible matrix error, this is a known issue with a potential workaround. Please report it at: https://github.com/andymeneely/squib/issues/55"
puts "=================="
+ raise e
end
- embed_draws.each { |ed| ed[:draw].call(self, ed[:x], ed[:y] + vertical_start) }
draw_text_hint(cc, x, y, layout, hint, angle)
extents = { width: layout.extents[1].width / Pango::SCALE,
height: layout.extents[1].height / Pango::SCALE }
diff --git a/spec/data/samples/autoscale_font.rb.txt b/spec/data/samples/autoscale_font.rb.txt
index 9335e90..a71140d 100644
--- a/spec/data/samples/autoscale_font.rb.txt
+++ b/spec/data/samples/autoscale_font.rb.txt
@@ -31,7 +31,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -55,7 +54,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -79,7 +77,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 266a8d0..c741939 100644
--- a/spec/data/samples/basic.rb.txt
+++ b/spec/data/samples/basic.rb.txt
@@ -83,7 +83,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -101,7 +100,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -119,7 +117,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -138,7 +135,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -157,7 +153,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -176,7 +171,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 4ca3fd0..53bb41c 100644
--- a/spec/data/samples/csv_import.rb.txt
+++ b/spec/data/samples/csv_import.rb.txt
@@ -24,7 +24,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -42,7 +41,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -60,7 +58,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -78,7 +75,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -96,7 +92,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -114,7 +109,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 740278a..4a2f45f 100644
--- a/spec/data/samples/custom_config.rb.txt
+++ b/spec/data/samples/custom_config.rb.txt
@@ -20,7 +20,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 c6e7252..db71fe4 100644
--- a/spec/data/samples/embed_text.rb.txt
+++ b/spec/data/samples/embed_text.rb.txt
@@ -31,7 +31,6 @@ 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=([Matrix])
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/excel.rb.txt b/spec/data/samples/excel.rb.txt
index 3bc8695..5ff4b75 100644
--- a/spec/data/samples/excel.rb.txt
+++ b/spec/data/samples/excel.rb.txt
@@ -29,7 +29,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -47,7 +46,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -65,7 +63,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -83,7 +80,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -101,7 +97,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -119,7 +114,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -137,7 +131,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -155,7 +148,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -173,7 +165,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 e4def4e..6b7c222 100644
--- a/spec/data/samples/gradients.rb.txt
+++ b/spec/data/samples/gradients.rb.txt
@@ -63,6 +63,5 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 29f8791..41169a0 100644
--- a/spec/data/samples/hello_world.rb.txt
+++ b/spec/data/samples/hello_world.rb.txt
@@ -16,7 +16,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -34,7 +33,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 b4c8f24..901f11e 100644
--- a/spec/data/samples/portrait-landscape.rb.txt
+++ b/spec/data/samples/portrait-landscape.rb.txt
@@ -19,7 +19,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
surface: write_to_png(["_output/portrait_00.png"])
cairo: antialias=(["subpixel"])
@@ -43,7 +42,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 cab8dcf..851cc56 100644
--- a/spec/data/samples/ranges.rb.txt
+++ b/spec/data/samples/ranges.rb.txt
@@ -29,7 +29,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -47,7 +46,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -65,7 +63,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -83,7 +80,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -101,7 +97,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -119,7 +114,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -138,7 +132,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -157,7 +150,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -176,7 +168,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -194,7 +185,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -212,7 +202,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -230,7 +219,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -248,7 +236,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -266,7 +253,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -284,7 +270,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -302,7 +287,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -320,7 +304,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:red])
@@ -338,7 +321,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:green])
@@ -356,7 +338,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:blue])
@@ -374,7 +355,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -392,7 +372,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -410,7 +389,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -428,7 +406,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -446,7 +423,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 84a8099..49b43ea 100644
--- a/spec/data/samples/saves.rb.txt
+++ b/spec/data/samples/saves.rb.txt
@@ -238,7 +238,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -256,7 +255,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -274,7 +272,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -292,7 +289,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -310,7 +306,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -328,7 +323,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -346,7 +340,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -364,7 +357,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -382,7 +374,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -400,7 +391,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -418,7 +408,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -436,7 +425,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -454,7 +442,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -472,7 +459,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -490,7 +476,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -508,7 +493,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 0cb120b..4b7aa99 100644
--- a/spec/data/samples/showcase.rb.txt
+++ b/spec/data/samples/showcase.rb.txt
@@ -71,7 +71,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -90,7 +89,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -109,7 +107,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -128,7 +125,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 13e2ab9..002fc6e 100644
--- a/spec/data/samples/text_options.rb.txt
+++ b/spec/data/samples/text_options.rb.txt
@@ -83,7 +83,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -101,7 +100,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -119,7 +117,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
@@ -137,7 +134,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
@@ -155,7 +151,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:burnt_orange])
@@ -173,7 +168,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -191,7 +185,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -209,7 +202,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -227,7 +219,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -245,7 +236,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -263,7 +253,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -281,7 +270,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -300,7 +288,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -319,7 +306,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -338,7 +324,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -358,7 +343,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -382,7 +366,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -406,7 +389,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -429,7 +411,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -448,7 +429,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -467,7 +447,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: rounded_rectangle([60, 545, 10, 10, 10, 10])
@@ -514,7 +493,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
@@ -538,7 +516,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
@@ -562,7 +539,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:green])
cairo: set_line_width([2.0])
@@ -584,7 +560,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -602,7 +577,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -620,7 +594,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -638,7 +611,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -656,7 +628,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -674,7 +645,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -692,7 +662,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -714,7 +683,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -736,7 +704,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:red])
cairo: set_line_width([2.0])
@@ -760,7 +727,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -780,7 +746,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -800,7 +765,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -820,7 +784,6 @@ 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=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -840,7 +803,6 @@ 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=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -860,7 +822,6 @@ 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=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -881,7 +842,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
@@ -906,7 +866,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
@@ -931,7 +890,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0.0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 22665f6..d16876a 100644
--- a/spec/data/samples/tgc_proofs.rb.txt
+++ b/spec/data/samples/tgc_proofs.rb.txt
@@ -37,7 +37,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
cairo: restore([])
cairo: save([])
cairo: set_source_color([:black])
@@ -56,7 +55,6 @@ cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
-cairo: matrix=([Matrix])
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 13946d6..058bf6c 100644
--- a/spec/graphics/graphics_text_spec.rb
+++ b/spec/graphics/graphics_text_spec.rb
@@ -40,9 +40,7 @@ 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(Cairo::Matrix.new(1, 0, 0, 1, 0, 0)).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)