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