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)