diff --git a/spec/data/samples/autoscale_font.rb.txt b/spec/data/samples/autoscale_font.rb.txt index 1f69077..31c8266 100644 --- a/spec/data/samples/autoscale_font.rb.txt +++ b/spec/data/samples/autoscale_font.rb.txt @@ -17,8 +17,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 400]) cairo: rotate([0]) -cairo: translate([-65, -400]) -cairo: move_to([65, 400]) +cairo: move_to([0, 0]) pango font: size=([128000]) pango: font_description=([MockDouble]) pango: text=(["ShortBig"]) @@ -31,7 +30,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -40,8 +39,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 400]) cairo: rotate([0]) -cairo: translate([-65, -400]) -cairo: move_to([65, 400]) +cairo: move_to([0, 0]) pango font: size=([46080]) pango: font_description=([MockDouble]) pango: text=(["Medium_Length_Name"]) @@ -54,7 +52,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -63,8 +61,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 400]) cairo: rotate([0]) -cairo: translate([-65, -400]) -cairo: move_to([65, 400]) +cairo: move_to([0, 0]) pango font: size=([36864]) pango: font_description=([MockDouble]) pango: text=(["Super_Duper_Long_Name"]) @@ -77,7 +74,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) diff --git a/spec/data/samples/basic.rb.txt b/spec/data/samples/basic.rb.txt index 696ff9f..52accb1 100644 --- a/spec/data/samples/basic.rb.txt +++ b/spec/data/samples/basic.rb.txt @@ -71,8 +71,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief"]) pango: wrap=([#]) @@ -88,8 +87,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter"]) pango: wrap=([#]) @@ -105,8 +103,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Mastermind"]) pango: wrap=([#]) @@ -122,8 +119,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([75, 85]) cairo: rotate([0]) -cairo: translate([-75, -85]) -cairo: move_to([75, 85]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["1"]) pango: width=([131072]) @@ -140,8 +136,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([75, 85]) cairo: rotate([0]) -cairo: translate([-75, -85]) -cairo: move_to([75, 85]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["2"]) pango: width=([131072]) @@ -158,8 +153,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([75, 85]) cairo: rotate([0]) -cairo: translate([-75, -85]) -cairo: move_to([75, 85]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["3"]) pango: width=([131072]) diff --git a/spec/data/samples/csv_import.rb.txt b/spec/data/samples/csv_import.rb.txt index a340642..4c83345 100644 --- a/spec/data/samples/csv_import.rb.txt +++ b/spec/data/samples/csv_import.rb.txt @@ -12,8 +12,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=([""]) pango: wrap=([#]) @@ -29,8 +28,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=([""]) pango: wrap=([#]) @@ -46,8 +44,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 65]) cairo: rotate([0]) -cairo: translate([-65, -65]) -cairo: move_to([65, 65]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=([""]) pango: wrap=([#]) @@ -63,8 +60,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 65]) cairo: rotate([0]) -cairo: translate([-65, -65]) -cairo: move_to([65, 65]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=([""]) pango: wrap=([#]) @@ -80,8 +76,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 600]) cairo: rotate([0]) -cairo: translate([-65, -600]) -cairo: move_to([65, 600]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=([""]) pango: wrap=([#]) @@ -97,8 +92,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 600]) cairo: rotate([0]) -cairo: translate([-65, -600]) -cairo: move_to([65, 600]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=([""]) pango: wrap=([#]) diff --git a/spec/data/samples/custom_config.rb.txt b/spec/data/samples/custom_config.rb.txt index bee0d70..a43f3d0 100644 --- a/spec/data/samples/custom_config.rb.txt +++ b/spec/data/samples/custom_config.rb.txt @@ -7,8 +7,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([0, 78]) cairo: rotate([0]) -cairo: translate([0, -78]) -cairo: move_to([0, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["The Title"]) pango: width=([844800]) @@ -20,10 +19,6 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([0, 78, 0, 0, 0, 0]) -cairo: set_source_color(["#FF0000"]) -cairo: set_line_width([2.0]) -cairo: stroke([]) cairo: restore([]) cairo: save([]) cairo: translate([620, 75]) diff --git a/spec/data/samples/excel.rb.txt b/spec/data/samples/excel.rb.txt index 6a0a34c..b2b38e6 100644 --- a/spec/data/samples/excel.rb.txt +++ b/spec/data/samples/excel.rb.txt @@ -17,8 +17,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief"]) pango: wrap=([#]) @@ -34,8 +33,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter"]) pango: wrap=([#]) @@ -51,8 +49,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Mastermind"]) pango: wrap=([#]) @@ -68,8 +65,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 65]) cairo: rotate([0]) -cairo: translate([-65, -65]) -cairo: move_to([65, 65]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["1"]) pango: wrap=([#]) @@ -85,8 +81,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 65]) cairo: rotate([0]) -cairo: translate([-65, -65]) -cairo: move_to([65, 65]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["2"]) pango: wrap=([#]) @@ -102,8 +97,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 65]) cairo: rotate([0]) -cairo: translate([-65, -65]) -cairo: move_to([65, 65]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["3"]) pango: wrap=([#]) @@ -119,8 +113,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 600]) cairo: rotate([0]) -cairo: translate([-65, -600]) -cairo: move_to([65, 600]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["A clever pickpocket on the street."]) pango: wrap=([#]) @@ -136,8 +129,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 600]) cairo: rotate([0]) -cairo: translate([-65, -600]) -cairo: move_to([65, 600]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["A sophisticated con artist who makes you run home for your wallet"]) pango: wrap=([#]) @@ -153,8 +145,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 600]) cairo: rotate([0]) -cairo: translate([-65, -600]) -cairo: move_to([65, 600]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["A brilliant mind devoted to a life of crime."]) pango: wrap=([#]) diff --git a/spec/data/samples/gradients.rb.txt b/spec/data/samples/gradients.rb.txt index 628b254..dfe9ef0 100644 --- a/spec/data/samples/gradients.rb.txt +++ b/spec/data/samples/gradients.rb.txt @@ -51,8 +51,7 @@ cairo: save([]) cairo: set_source([LinearPattern]) cairo: translate([75, 700]) cairo: rotate([0]) -cairo: translate([-75, -700]) -cairo: move_to([75, 700]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Hello, world!"]) pango: wrap=([#]) diff --git a/spec/data/samples/hello_world.rb.txt b/spec/data/samples/hello_world.rb.txt index 1045dad..6421908 100644 --- a/spec/data/samples/hello_world.rb.txt +++ b/spec/data/samples/hello_world.rb.txt @@ -4,7 +4,6 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([0, 0]) cairo: rotate([0]) -cairo: translate([0, 0]) cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Hello"]) @@ -21,7 +20,6 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([0, 0]) cairo: rotate([0]) -cairo: translate([0, 0]) cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["World!"]) diff --git a/spec/data/samples/portrait-landscape.rb.txt b/spec/data/samples/portrait-landscape.rb.txt index ce3eef0..30b793d 100644 --- a/spec/data/samples/portrait-landscape.rb.txt +++ b/spec/data/samples/portrait-landscape.rb.txt @@ -7,7 +7,6 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([0, 0]) cairo: rotate([0]) -cairo: translate([0, 0]) cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["This is portrait"]) @@ -30,7 +29,6 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([0, 0]) cairo: rotate([0]) -cairo: translate([0, 0]) cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["This is landscape"]) diff --git a/spec/data/samples/ranges.rb.txt b/spec/data/samples/ranges.rb.txt index 653d5f4..056125f 100644 --- a/spec/data/samples/ranges.rb.txt +++ b/spec/data/samples/ranges.rb.txt @@ -17,8 +17,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief"]) pango: wrap=([#]) @@ -34,8 +33,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter"]) pango: wrap=([#]) @@ -51,8 +49,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Mastermind"]) pango: wrap=([#]) @@ -68,8 +65,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 40]) cairo: rotate([0]) -cairo: translate([-65, -40]) -cairo: move_to([65, 40]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["1"]) pango: wrap=([#]) @@ -85,8 +81,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 40]) cairo: rotate([0]) -cairo: translate([-65, -40]) -cairo: move_to([65, 40]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["2"]) pango: wrap=([#]) @@ -102,8 +97,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 40]) cairo: rotate([0]) -cairo: translate([-65, -40]) -cairo: move_to([65, 40]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["3"]) pango: wrap=([#]) @@ -119,8 +113,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([40, 128]) cairo: rotate([0]) -cairo: translate([-40, -128]) -cairo: move_to([40, 128]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thug"]) pango: width=([102400]) @@ -137,8 +130,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([40, 128]) cairo: rotate([0]) -cairo: translate([-40, -128]) -cairo: move_to([40, 128]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thinker"]) pango: width=([102400]) @@ -155,8 +147,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([40, 128]) cairo: rotate([0]) -cairo: translate([-40, -128]) -cairo: move_to([40, 128]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thinker"]) pango: width=([102400]) @@ -173,8 +164,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 200]) cairo: rotate([0]) -cairo: translate([-25, -200]) -cairo: move_to([25, 200]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief and Grifter only!!"]) pango: wrap=([#]) @@ -190,8 +180,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 200]) cairo: rotate([0]) -cairo: translate([-25, -200]) -cairo: move_to([25, 200]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief and Grifter only!!"]) pango: wrap=([#]) @@ -207,8 +196,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 250]) cairo: rotate([0]) -cairo: translate([-25, -250]) -cairo: move_to([25, 250]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief only!"]) pango: wrap=([#]) @@ -224,8 +212,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 250]) cairo: rotate([0]) -cairo: translate([-25, -250]) -cairo: move_to([25, 250]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Mastermind only!"]) pango: wrap=([#]) @@ -241,8 +228,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 650]) cairo: rotate([0]) -cairo: translate([-25, -650]) -cairo: move_to([25, 650]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter and Mastermind only!"]) pango: wrap=([#]) @@ -258,8 +244,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 650]) cairo: rotate([0]) -cairo: translate([-25, -650]) -cairo: move_to([25, 650]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter and Mastermind only!"]) pango: wrap=([#]) @@ -275,8 +260,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 300]) cairo: rotate([0]) -cairo: translate([-25, -300]) -cairo: move_to([25, 300]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief and Mastermind only!!"]) pango: wrap=([#]) @@ -292,8 +276,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 300]) cairo: rotate([0]) -cairo: translate([-25, -300]) -cairo: move_to([25, 300]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief and Mastermind only!!"]) pango: wrap=([#]) @@ -309,8 +292,7 @@ cairo: save([]) cairo: set_source_color([:red]) cairo: translate([40, 700]) cairo: rotate([0]) -cairo: translate([-40, -700]) -cairo: move_to([40, 700]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["red"]) pango: wrap=([#]) @@ -326,8 +308,7 @@ cairo: save([]) cairo: set_source_color([:green]) cairo: translate([80, 750]) cairo: rotate([0]) -cairo: translate([-80, -750]) -cairo: move_to([80, 750]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["green"]) pango: wrap=([#]) @@ -343,8 +324,7 @@ cairo: save([]) cairo: set_source_color([:blue]) cairo: translate([120, 800]) cairo: rotate([0]) -cairo: translate([-120, -800]) -cairo: move_to([120, 800]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["blue"]) pango: wrap=([#]) @@ -360,8 +340,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 400]) cairo: rotate([0]) -cairo: translate([-25, -400]) -cairo: move_to([25, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief through Grifter with id lookup!!"]) pango: wrap=([#]) @@ -377,8 +356,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 400]) cairo: rotate([0]) -cairo: translate([-25, -400]) -cairo: move_to([25, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief through Grifter with id lookup!!"]) pango: wrap=([#]) @@ -394,8 +372,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 500]) cairo: rotate([0]) -cairo: translate([-25, -500]) -cairo: move_to([25, 500]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Only for Thinkers!"]) pango: wrap=([#]) @@ -411,8 +388,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([25, 500]) cairo: rotate([0]) -cairo: translate([-25, -500]) -cairo: move_to([25, 500]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Only for Thinkers!"]) pango: wrap=([#]) diff --git a/spec/data/samples/saves.rb.txt b/spec/data/samples/saves.rb.txt index a936279..e29e134 100644 --- a/spec/data/samples/saves.rb.txt +++ b/spec/data/samples/saves.rb.txt @@ -226,8 +226,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["1"]) pango: wrap=([#]) @@ -243,8 +242,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["2"]) pango: wrap=([#]) @@ -260,8 +258,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["3"]) pango: wrap=([#]) @@ -277,8 +274,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["4"]) pango: wrap=([#]) @@ -294,8 +290,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["5"]) pango: wrap=([#]) @@ -311,8 +306,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["6"]) pango: wrap=([#]) @@ -328,8 +322,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["7"]) pango: wrap=([#]) @@ -345,8 +338,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["8"]) pango: wrap=([#]) @@ -362,8 +354,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["9"]) pango: wrap=([#]) @@ -379,8 +370,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["10"]) pango: wrap=([#]) @@ -396,8 +386,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["11"]) pango: wrap=([#]) @@ -413,8 +402,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["12"]) pango: wrap=([#]) @@ -430,8 +418,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["13"]) pango: wrap=([#]) @@ -447,8 +434,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["14"]) pango: wrap=([#]) @@ -464,8 +450,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["15"]) pango: wrap=([#]) @@ -481,8 +466,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["16"]) pango: wrap=([#]) diff --git a/spec/data/samples/showcase.rb.txt b/spec/data/samples/showcase.rb.txt index 61e06d6..4131964 100644 --- a/spec/data/samples/showcase.rb.txt +++ b/spec/data/samples/showcase.rb.txt @@ -58,8 +58,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([78, 78]) cairo: rotate([0]) -cairo: translate([-78, -78]) -cairo: move_to([78, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter"]) pango: width=([691200.0]) @@ -76,8 +75,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([78, 78]) cairo: rotate([0]) -cairo: translate([-78, -78]) -cairo: move_to([78, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief"]) pango: width=([691200.0]) @@ -94,8 +92,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([78, 78]) cairo: rotate([0]) -cairo: translate([-78, -78]) -cairo: move_to([78, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thug"]) pango: width=([691200.0]) @@ -112,8 +109,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([78, 78]) cairo: rotate([0]) -cairo: translate([-78, -78]) -cairo: move_to([78, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Kingpin"]) pango: width=([691200.0]) diff --git a/spec/data/samples/text_options.rb.txt b/spec/data/samples/text_options.rb.txt index b1ef916..fbc2a3b 100644 --- a/spec/data/samples/text_options.rb.txt +++ b/spec/data/samples/text_options.rb.txt @@ -71,8 +71,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Thief"]) pango: wrap=([#]) @@ -88,8 +87,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Grifter"]) pango: wrap=([#]) @@ -105,8 +103,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([250, 55]) cairo: rotate([0]) -cairo: translate([-250, -55]) -cairo: move_to([250, 55]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Mastermind"]) pango: wrap=([#]) @@ -122,8 +119,7 @@ cairo: save([]) cairo: set_source_color([:burnt_orange]) cairo: translate([65, 40]) cairo: rotate([0]) -cairo: translate([-65, -40]) -cairo: move_to([65, 40]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["1"]) pango: wrap=([#]) @@ -139,8 +135,7 @@ cairo: save([]) cairo: set_source_color([:burnt_orange]) cairo: translate([65, 40]) cairo: rotate([0]) -cairo: translate([-65, -40]) -cairo: move_to([65, 40]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["2"]) pango: wrap=([#]) @@ -156,8 +151,7 @@ cairo: save([]) cairo: set_source_color([:burnt_orange]) cairo: translate([65, 40]) cairo: rotate([0]) -cairo: translate([-65, -40]) -cairo: move_to([65, 40]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["3"]) pango: wrap=([#]) @@ -173,8 +167,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 200]) cairo: rotate([0]) -cairo: translate([-65, -200]) -cairo: move_to([65, 200]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Font strings are expressive!"]) pango: wrap=([#]) @@ -190,8 +183,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 200]) cairo: rotate([0]) -cairo: translate([-65, -200]) -cairo: move_to([65, 200]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Font strings are expressive!"]) pango: wrap=([#]) @@ -207,8 +199,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 200]) cairo: rotate([0]) -cairo: translate([-65, -200]) -cairo: move_to([65, 200]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Font strings are expressive!"]) pango: wrap=([#]) @@ -224,8 +215,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 300]) cairo: rotate([0]) -cairo: translate([-65, -300]) -cairo: move_to([65, 300]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Font strings are expressive!"]) pango: wrap=([#]) @@ -241,8 +231,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 300]) cairo: rotate([0]) -cairo: translate([-65, -300]) -cairo: move_to([65, 300]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Font strings are expressive!"]) pango: wrap=([#]) @@ -258,8 +247,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 300]) cairo: rotate([0]) -cairo: translate([-65, -300]) -cairo: move_to([65, 300]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Font strings are expressive!"]) pango: wrap=([#]) @@ -275,8 +263,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 350]) cairo: rotate([0]) -cairo: translate([-65, -350]) -cairo: move_to([65, 350]) +cairo: move_to([0, 0]) pango font: size=([16384]) pango: font_description=([MockDouble]) pango: text=(["Font string sizes can be overridden per card."]) @@ -293,8 +280,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 350]) cairo: rotate([0]) -cairo: translate([-65, -350]) -cairo: move_to([65, 350]) +cairo: move_to([0, 0]) pango font: size=([20480]) pango: font_description=([MockDouble]) pango: text=(["Font string sizes can be overridden per card."]) @@ -311,8 +297,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 350]) cairo: rotate([0]) -cairo: translate([-65, -350]) -cairo: move_to([65, 350]) +cairo: move_to([0, 0]) pango font: size=([24576]) pango: font_description=([MockDouble]) pango: text=(["Font string sizes can be overridden per card."]) @@ -329,8 +314,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 400]) cairo: rotate([0]) -cairo: translate([-65, -400]) -cairo: move_to([65, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint"]) pango: width=([307200]) @@ -341,9 +325,10 @@ pango: alignment=([#]) pango: justify=([false]) pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) +cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -352,8 +337,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 400]) cairo: rotate([0]) -cairo: translate([-65, -400]) -cairo: move_to([65, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint"]) pango: width=([307200]) @@ -364,9 +348,10 @@ pango: alignment=([#]) pango: justify=([false]) pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) +cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -375,8 +360,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 400]) cairo: rotate([0]) -cairo: translate([-65, -400]) -cairo: move_to([65, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["This text has fixed width, fixed height, center-aligned, middle-valigned, and has a red hint"]) pango: width=([307200]) @@ -387,9 +371,10 @@ pango: alignment=([#]) pango: justify=([false]) pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) +cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -398,8 +383,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 550]) cairo: rotate([0]) -cairo: translate([-65, -550]) -cairo: move_to([65, 550]) +cairo: move_to([0, 0]) pango font: size=([16384]) pango: font_description=([MockDouble]) pango: text=(["Ink extent return value"]) @@ -416,8 +400,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 550]) cairo: rotate([0]) -cairo: translate([-65, -550]) -cairo: move_to([65, 550]) +cairo: move_to([0, 0]) pango font: size=([20480]) pango: font_description=([MockDouble]) pango: text=(["Ink extent return value"]) @@ -434,8 +417,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 550]) cairo: rotate([0]) -cairo: translate([-65, -550]) -cairo: move_to([65, 550]) +cairo: move_to([0, 0]) pango font: size=([24576]) pango: font_description=([MockDouble]) pango: text=(["Ink extent return value"]) @@ -479,8 +461,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([450, 400]) cairo: rotate([0]) -cairo: translate([-450, -400]) -cairo: move_to([450, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42"]) pango: width=([286720]) @@ -493,7 +474,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([450, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:green]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -502,8 +483,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([450, 400]) cairo: rotate([0]) -cairo: translate([-450, -400]) -cairo: move_to([450, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42"]) pango: width=([286720]) @@ -516,7 +496,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([450, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:green]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -525,8 +505,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([450, 400]) cairo: rotate([0]) -cairo: translate([-450, -400]) -cairo: move_to([450, 400]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Ellipsization!\nThe ultimate question of life, the universe, and everything to life and everything is 42"]) pango: width=([286720]) @@ -539,7 +518,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([450, 400, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:green]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -548,8 +527,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 625]) cairo: rotate([0]) -cairo: translate([-65, -625]) -cairo: move_to([65, 625]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Text hints are also globally togglable!"]) pango: wrap=([#]) @@ -560,17 +538,12 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 625, 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([65, 625]) cairo: rotate([0]) -cairo: translate([-65, -625]) -cairo: move_to([65, 625]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Text hints are also globally togglable!"]) pango: wrap=([#]) @@ -581,17 +554,12 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 625, 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([65, 625]) cairo: rotate([0]) -cairo: translate([-65, -625]) -cairo: move_to([65, 625]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Text hints are also globally togglable!"]) pango: wrap=([#]) @@ -602,17 +570,12 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([65, 625, 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([565, 625]) cairo: rotate([0]) -cairo: translate([-565, -625]) -cairo: move_to([565, 625]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["See? No hint here."]) pango: wrap=([#]) @@ -628,8 +591,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([565, 625]) cairo: rotate([0]) -cairo: translate([-565, -625]) -cairo: move_to([565, 625]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["See? No hint here."]) pango: wrap=([#]) @@ -645,8 +607,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([565, 625]) cairo: rotate([0]) -cairo: translate([-565, -625]) -cairo: move_to([565, 625]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["See? No hint here."]) pango: wrap=([#]) @@ -662,8 +623,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([565, 675]) cairo: rotate([0.2]) -cairo: translate([-565, -675]) -cairo: move_to([565, 675]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Rotated"]) pango: wrap=([#]) @@ -674,7 +634,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([565, 675, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -683,8 +643,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([565, 675]) cairo: rotate([0.2]) -cairo: translate([-565, -675]) -cairo: move_to([565, 675]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Rotated"]) pango: wrap=([#]) @@ -695,7 +654,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([565, 675, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -704,8 +663,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([565, 675]) cairo: rotate([0.2]) -cairo: translate([-565, -675]) -cairo: move_to([565, 675]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Rotated"]) pango: wrap=([#]) @@ -716,7 +674,7 @@ pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([565, 675, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:red]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -725,11 +683,10 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 700]) cairo: rotate([0]) -cairo: translate([-65, -700]) -cairo: move_to([65, 700]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) -pango: text=(["This is left-justified text.\nWhat do you know about tweetle beetles? well... \nWhen tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle. AND... When beetles fight these battles in a bottle with their paddles and the bottle's on a poodle and the poodle's eating noodles... ...they call this a muddle puddle tweetle poodle beetle noodle bottle paddle battle."]) -pango: width=([691200.0]) +pango: text=(["This is left-justified text, with newlines.\nWhat do you know about tweetle beetles? well... When tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle."]) +pango: width=([460800.0]) pango: height=([307200.0]) pango: wrap=([#]) pango: ellipsize=([#]) @@ -744,11 +701,10 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 700]) cairo: rotate([0]) -cairo: translate([-65, -700]) -cairo: move_to([65, 700]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) -pango: text=(["This is left-justified text.\nWhat do you know about tweetle beetles? well... \nWhen tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle. AND... When beetles fight these battles in a bottle with their paddles and the bottle's on a poodle and the poodle's eating noodles... ...they call this a muddle puddle tweetle poodle beetle noodle bottle paddle battle."]) -pango: width=([691200.0]) +pango: text=(["This is left-justified text, with newlines.\nWhat do you know about tweetle beetles? well... When tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle."]) +pango: width=([460800.0]) pango: height=([307200.0]) pango: wrap=([#]) pango: ellipsize=([#]) @@ -763,11 +719,10 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([65, 700]) cairo: rotate([0]) -cairo: translate([-65, -700]) -cairo: move_to([65, 700]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) -pango: text=(["This is left-justified text.\nWhat do you know about tweetle beetles? well... \nWhen tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle. AND... When beetles fight these battles in a bottle with their paddles and the bottle's on a poodle and the poodle's eating noodles... ...they call this a muddle puddle tweetle poodle beetle noodle bottle paddle battle."]) -pango: width=([691200.0]) +pango: text=(["This is left-justified text, with newlines.\nWhat do you know about tweetle beetles? well... When tweetle beetles fight, it's called a tweetle beetle battle. And when they battle in a puddle, it's a tweetle beetle puddle battle. AND when tweetle beetles battle with paddles in a puddle, they call it a tweetle beetle puddle paddle battle. AND... When beetles battle beetles in a puddle paddle battle and the beetle battle puddle is a puddle in a bottle... ..they call this a tweetle beetle bottle puddle paddle battle muddle."]) +pango: width=([460800.0]) pango: height=([307200.0]) pango: wrap=([#]) pango: ellipsize=([#]) @@ -780,10 +735,141 @@ cairo: show_pango_layout([MockDouble]) cairo: restore([]) cairo: save([]) cairo: set_source_color([:black]) +cairo: translate([540.0, 750.0]) +cairo: rotate([0]) +cairo: move_to([0, 0]) +pango: font_description=([MockDouble]) +pango: text=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) +pango: width=([261120.0]) +pango: wrap=([#]) +pango: ellipsize=([#]) +pango: alignment=([#]) +pango: justify=([false]) +pango: spacing=([0]) +cairo: update_pango_layout([MockDouble]) +cairo: update_pango_layout([MockDouble]) +pango: markup=(["Embedded icons! Take 1 and gain 2:health:. If Level 2, take 2 :tool:"]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.21875, 0.21875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +pango: markup=(["Embedded icons! Take 1 and gain 2 . If Level 2, take 2 :tool:"]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.0546875, 0.0546875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +pango: markup=(["Embedded icons! Take 1 and gain 2 . If Level 2, take 2 "]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.21875, 0.21875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +cairo: show_pango_layout([MockDouble]) +cairo: restore([]) +cairo: save([]) +cairo: set_source_color([:black]) +cairo: translate([540.0, 750.0]) +cairo: rotate([0]) +cairo: move_to([0, 0]) +pango: font_description=([MockDouble]) +pango: text=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) +pango: width=([261120.0]) +pango: wrap=([#]) +pango: ellipsize=([#]) +pango: alignment=([#]) +pango: justify=([false]) +pango: spacing=([0]) +cairo: update_pango_layout([MockDouble]) +cairo: update_pango_layout([MockDouble]) +pango: markup=(["Embedded icons! Take 1 and gain 2:health:. If Level 2, take 2 :tool:"]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.21875, 0.21875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +pango: markup=(["Embedded icons! Take 1 and gain 2 . If Level 2, take 2 :tool:"]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.0546875, 0.0546875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +pango: markup=(["Embedded icons! Take 1 and gain 2 . If Level 2, take 2 "]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.21875, 0.21875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +cairo: show_pango_layout([MockDouble]) +cairo: restore([]) +cairo: save([]) +cairo: set_source_color([:black]) +cairo: translate([540.0, 750.0]) +cairo: rotate([0]) +cairo: move_to([0, 0]) +pango: font_description=([MockDouble]) +pango: text=(["Embedded icons! Take 1 :tool: and gain 2:health:. If Level 2, take 2 :tool:"]) +pango: width=([261120.0]) +pango: wrap=([#]) +pango: ellipsize=([#]) +pango: alignment=([#]) +pango: justify=([false]) +pango: spacing=([0]) +cairo: update_pango_layout([MockDouble]) +cairo: update_pango_layout([MockDouble]) +pango: markup=(["Embedded icons! Take 1 and gain 2:health:. If Level 2, take 2 :tool:"]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.21875, 0.21875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +pango: markup=(["Embedded icons! Take 1 and gain 2 . If Level 2, take 2 :tool:"]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.0546875, 0.0546875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +pango: markup=(["Embedded icons! Take 1 and gain 2 . If Level 2, take 2 "]) +cairo: update_pango_layout([MockDouble]) +pango_iter: next_char!([]) +cairo: save([]) +cairo: translate([-14.0, 0.0]) +cairo: rotate([0]) +cairo: scale([0.21875, 0.21875]) +cairo: render_rsvg_handle([RSVG::Handle, nil]) +cairo: restore([]) +cairo: show_pango_layout([MockDouble]) +cairo: restore([]) +cairo: save([]) +cairo: set_source_color([:black]) cairo: translate([50, 1000]) cairo: rotate([0]) -cairo: translate([-50, -1000]) -cairo: move_to([50, 1000]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Markup is also quite easy awesome"]) pango: markup=(["Markup is also quite easy awesome"]) @@ -795,10 +881,10 @@ pango: alignment=([#]) pango: justify=([false]) pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) -cairo: move_to([50, 1000]) +cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([50, 1000, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:cyan]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -807,8 +893,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([50, 1000]) cairo: rotate([0]) -cairo: translate([-50, -1000]) -cairo: move_to([50, 1000]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Markup is also quite easy awesome"]) pango: markup=(["Markup is also quite easy awesome"]) @@ -820,10 +905,10 @@ pango: alignment=([#]) pango: justify=([false]) pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) -cairo: move_to([50, 1000]) +cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([50, 1000, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:cyan]) cairo: set_line_width([2.0]) cairo: stroke([]) @@ -832,8 +917,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([50, 1000]) cairo: rotate([0]) -cairo: translate([-50, -1000]) -cairo: move_to([50, 1000]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Markup is also quite easy awesome"]) pango: markup=(["Markup is also quite easy awesome"]) @@ -845,10 +929,10 @@ pango: alignment=([#]) pango: justify=([false]) pango: spacing=([0]) cairo: update_pango_layout([MockDouble]) -cairo: move_to([50, 1000]) +cairo: move_to([0, 0]) cairo: update_pango_layout([MockDouble]) cairo: show_pango_layout([MockDouble]) -cairo: rounded_rectangle([50, 1000, 0, 0, 0, 0]) +cairo: rounded_rectangle([0, 0, 0, 0, 0, 0]) cairo: set_source_color([:cyan]) cairo: set_line_width([2.0]) cairo: stroke([]) diff --git a/spec/data/samples/tgc_proofs.rb.txt b/spec/data/samples/tgc_proofs.rb.txt index 68b5785..a1bbcb8 100644 --- a/spec/data/samples/tgc_proofs.rb.txt +++ b/spec/data/samples/tgc_proofs.rb.txt @@ -25,8 +25,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([220, 78]) cairo: rotate([0]) -cairo: translate([-220, -78]) -cairo: move_to([220, 78]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["Mastermind"]) pango: wrap=([#]) @@ -42,8 +41,7 @@ cairo: save([]) cairo: set_source_color([:black]) cairo: translate([75, 85]) cairo: rotate([0]) -cairo: translate([-75, -85]) -cairo: move_to([75, 85]) +cairo: move_to([0, 0]) pango: font_description=([MockDouble]) pango: text=(["3"]) pango: width=([131072]) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 3c1e078..84b30e3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -59,6 +59,7 @@ def mock_cairo(strio) surface = double(Cairo::ImageSurface) pango = double(Pango::Layout) font = double(Pango::FontDescription) + iter = double('pango_iter') 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) @@ -69,7 +70,13 @@ def mock_cairo(strio) allow(cxt).to receive(:target).and_return(surface) 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)) allow(pango).to receive(:extents).and_return([Pango::Rectangle.new(0,0,0,0)]*2) + allow(pango).to receive(:iter).and_return(iter) + allow(pango).to receive(:alignment).and_return(Pango::Layout::Alignment::LEFT) + allow(iter).to receive(:next_char!).and_return(false) + allow(iter).to receive(:char_extents).and_return(Pango::Rectangle.new(5,5,5,5)) + allow(iter).to receive(:index).and_return(1000) allow(Pango::FontDescription).to receive(:new).and_return(font) allow(Cairo::PDFSurface).to receive(:new).and_return(nil) @@ -94,6 +101,10 @@ def mock_cairo(strio) allow(surface).to receive(m) { |*args| strio << scrub_hex("surface: #{m}(#{args})\n") } end + %w(next_char!).each do |m| + allow(iter).to receive(m) { |*args| strio << scrub_hex("pango_iter: #{m}(#{args})\n") } + end + end # Refine Squib to allow setting the logger and progress bar