From d2eae64da2bf9b45dcb08f807a4f990ab8f5d651 Mon Sep 17 00:00:00 2001 From: Andy Meneely Date: Fri, 9 Sep 2016 00:10:43 -0400 Subject: [PATCH] shapes: rect and ellipse get the angle option Closes #162 --- CHANGELOG.md | 3 ++ docs/dsl/ellipse.rst | 6 +++ docs/dsl/rect.rst | 4 ++ lib/squib/api/shapes.rb | 6 ++- lib/squib/graphics/shapes.rb | 9 ++-- samples/shapes | 2 +- .../autoscale_font/_autoscale_font.rb.txt | 9 ++++ spec/data/samples/basic.rb.txt | 18 +++++++ spec/data/samples/cairo_access.rb.txt | 6 +++ spec/data/samples/colors/_gradients.rb.txt | 6 +++ spec/data/samples/data/_csv.rb.txt | 12 +++++ spec/data/samples/data/_excel.rb.txt | 30 ++++++++++++ spec/data/samples/embed_text.rb.txt | 3 ++ .../samples/images/_more_load_images.rb.txt | 3 ++ spec/data/samples/ranges.rb.txt | 9 ++++ spec/data/samples/saves/_hand.rb.txt | 48 +++++++++++++++++++ spec/data/samples/saves/_saves.rb.txt | 48 +++++++++++++++++++ spec/data/samples/saves/_showcase.rb.txt | 12 +++++ spec/data/samples/shapes/_draw_shapes.rb.txt | 23 +++++++++ spec/data/samples/text_options.rb.txt | 27 +++++++++++ spec/data/samples/tgc_proofs.rb.txt | 6 +++ spec/data/samples/units.rb.txt | 9 ++++ 22 files changed, 293 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b76a0a5..b9c3635 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Squib follows [semantic versioning](http://semver.org). Features: * Unit conversion supports mm (#161) +* `rect` and `ellipse` support the `angle` option (#162) Docs: * Provide previews of each built-in template on the docs (#163) @@ -14,6 +15,8 @@ Bugs: * Embedding icons in text show unicode placeholders on some OSs. This is a workaround until we get a better solution for embedding icons. See #170, #171, and #176. For that matter, see #103, #153, and #30 if you really want the whole story. * Unit conversion is supported when using `extends` in layouts, as promised in the docs (#173) +Special thanks to everyone who tested, reported, suggested, and helped for this release! bcompter, rhyok, temetherian, rpond-pa, Nibodhika, briant-spindance, lcarlsen, spilth + ## v0.10.0 / 2016-05-06 Features: diff --git a/docs/dsl/ellipse.rst b/docs/dsl/ellipse.rst index a49ad0c..0e64eba 100644 --- a/docs/dsl/ellipse.rst +++ b/docs/dsl/ellipse.rst @@ -10,6 +10,12 @@ Options .. include:: /args/xy.rst .. include:: /args/wh.rst .. include:: /args/draw.rst + +angle + default: 0 + + the angle at which to rotate the ellipse about it's upper-left corner + .. include:: /args/range.rst .. include:: /args/layout.rst diff --git a/docs/dsl/rect.rst b/docs/dsl/rect.rst index 0c5f03b..377c14a 100644 --- a/docs/dsl/rect.rst +++ b/docs/dsl/rect.rst @@ -13,6 +13,10 @@ Options .. include:: /args/range.rst .. include:: /args/layout.rst +angle + default: 0 + + the angle at which to rotate the rectangle about it's upper-left corner Examples ^^^^^^^^ diff --git a/lib/squib/api/shapes.rb b/lib/squib/api/shapes.rb index 948127b..0095376 100644 --- a/lib/squib/api/shapes.rb +++ b/lib/squib/api/shapes.rb @@ -12,7 +12,8 @@ module Squib range = Args::CardRange.new(opts[:range], deck_size: size) box = Args::Box.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi) draw = Args::Draw.new(custom_colors).load!(opts, expand_by: size, layout: layout, dpi: dpi) - range.each { |i| @cards[i].rect(box[i], draw[i]) } + trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) + range.each { |i| @cards[i].rect(box[i], draw[i], trans[i]) } end # DSL method. See http://squib.readthedocs.io @@ -28,7 +29,8 @@ module Squib range = Args::CardRange.new(opts[:range], deck_size: size) draw = Args::Draw.new(custom_colors).load!(opts, expand_by: size, layout: layout, dpi: dpi) box = Args::Box.new(self, { width: '0.25in', height: '0.25in' }).load!(opts, expand_by: size, layout: layout, dpi: dpi) - range.each { |i| @cards[i].ellipse(box[i], draw[i]) } + trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi) + range.each { |i| @cards[i].ellipse(box[i], draw[i], trans[i]) } end # DSL method. See http://squib.readthedocs.io diff --git a/lib/squib/graphics/shapes.rb b/lib/squib/graphics/shapes.rb index ab9f388..c38b129 100644 --- a/lib/squib/graphics/shapes.rb +++ b/lib/squib/graphics/shapes.rb @@ -4,9 +4,11 @@ module Squib # :nodoc: # @api private - def rect(box, draw) + def rect(box, draw, trans) use_cairo do |cc| - cc.rounded_rectangle(box.x, box.y, box.width, box.height, box.x_radius, box.y_radius) + cc.rotate_about(box.x, box.y, trans.angle) + cc.rounded_rectangle(box.x, box.y, box.width, box.height, + box.x_radius, box.y_radius) cc.fill_n_stroke(draw) end end @@ -27,9 +29,10 @@ module Squib # of the rectangle. Control points are at 1/4 and 3/4 of the side. # :nodoc: # @api private - def ellipse(box, draw) + def ellipse(box, draw, trans) x, y, w, h = box.x, box.y, box.width, box.height use_cairo do |cc| + cc.rotate_about(box.x, box.y, trans.angle) cc.move_to(x, y + 0.5 * h) # start west cc.curve_to(x, y + 0.25 * h, # west to north x + 0.25 * w, y, diff --git a/samples/shapes b/samples/shapes index 76b1e0e..0097971 160000 --- a/samples/shapes +++ b/samples/shapes @@ -1 +1 @@ -Subproject commit 76b1e0e539988e55657e7163200bc2e28c9f64bd +Subproject commit 0097971b5926b6571dbf2d3b4a3363d7cb196382 diff --git a/spec/data/samples/autoscale_font/_autoscale_font.rb.txt b/spec/data/samples/autoscale_font/_autoscale_font.rb.txt index c8bfc85..8e0bc25 100644 --- a/spec/data/samples/autoscale_font/_autoscale_font.rb.txt +++ b/spec/data/samples/autoscale_font/_autoscale_font.rb.txt @@ -14,6 +14,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 300, 100, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -25,6 +28,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 300, 100, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -36,6 +42,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 300, 100, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/basic.rb.txt b/spec/data/samples/basic.rb.txt index dbe737c..4a96aa6 100644 --- a/spec/data/samples/basic.rb.txt +++ b/spec/data/samples/basic.rb.txt @@ -14,6 +14,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -25,6 +28,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -36,6 +42,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -47,6 +56,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -58,6 +70,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -69,6 +84,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/cairo_access.rb.txt b/spec/data/samples/cairo_access.rb.txt index 7fa12f6..1750b64 100644 --- a/spec/data/samples/cairo_access.rb.txt +++ b/spec/data/samples/cairo_access.rb.txt @@ -26,6 +26,9 @@ cairo: restore([]) cairo: translate([500, 500]) cairo: translate([500, 500]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 50, 50, 0, 0]) cairo: set_source_color(["red"]) cairo: fill_preserve([]) @@ -37,6 +40,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 50, 50, 0, 0]) cairo: set_source_color(["red"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/colors/_gradients.rb.txt b/spec/data/samples/colors/_gradients.rb.txt index 119caf3..969abf1 100644 --- a/spec/data/samples/colors/_gradients.rb.txt +++ b/spec/data/samples/colors/_gradients.rb.txt @@ -37,6 +37,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([30, 350]) +cairo: rotate([0]) +cairo: translate([-30, -350]) cairo: rounded_rectangle([30, 350, 150, 150, 15, 15]) cairo: set_source([LinearPattern]) cairo: fill_preserve([]) @@ -48,6 +51,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([40, 360]) +cairo: rotate([0]) +cairo: translate([-40, -360]) cairo: rounded_rectangle([40, 360, 130, 130, 15, 15]) cairo: set_source([LinearPattern]) cairo: fill_preserve([]) diff --git a/spec/data/samples/data/_csv.rb.txt b/spec/data/samples/data/_csv.rb.txt index e79248a..b50a12f 100644 --- a/spec/data/samples/data/_csv.rb.txt +++ b/spec/data/samples/data/_csv.rb.txt @@ -95,6 +95,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -106,6 +109,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -117,6 +123,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -128,6 +137,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/data/_excel.rb.txt b/spec/data/samples/data/_excel.rb.txt index 75d3014..bc63bd0 100644 --- a/spec/data/samples/data/_excel.rb.txt +++ b/spec/data/samples/data/_excel.rb.txt @@ -181,6 +181,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -192,6 +195,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -203,6 +209,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -214,6 +223,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -328,6 +340,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -339,6 +354,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -350,6 +368,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -361,6 +382,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -372,6 +396,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -383,6 +410,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/embed_text.rb.txt b/spec/data/samples/embed_text.rb.txt index 74c10e3..744ac84 100644 --- a/spec/data/samples/embed_text.rb.txt +++ b/spec/data/samples/embed_text.rb.txt @@ -4,6 +4,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/images/_more_load_images.rb.txt b/spec/data/samples/images/_more_load_images.rb.txt index 4da01a1..1390ba0 100644 --- a/spec/data/samples/images/_more_load_images.rb.txt +++ b/spec/data/samples/images/_more_load_images.rb.txt @@ -4,6 +4,9 @@ cairo: set_source_color(["#0b7c8e"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/ranges.rb.txt b/spec/data/samples/ranges.rb.txt index 989e898..abc1374 100644 --- a/spec/data/samples/ranges.rb.txt +++ b/spec/data/samples/ranges.rb.txt @@ -431,6 +431,9 @@ cairo: translate([0, 0]) cairo: render_rsvg_handle([RSVG::Handle, nil]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -442,6 +445,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -453,6 +459,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([0, 0]) +cairo: rotate([0]) +cairo: translate([0, 0]) cairo: rounded_rectangle([0, 0, 825, 1125, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/saves/_hand.rb.txt b/spec/data/samples/saves/_hand.rb.txt index aea593c..b956c16 100644 --- a/spec/data/samples/saves/_hand.rb.txt +++ b/spec/data/samples/saves/_hand.rb.txt @@ -39,6 +39,9 @@ cairo: set_source_color(["cyan"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -50,6 +53,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -61,6 +67,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -72,6 +81,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -83,6 +95,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -94,6 +109,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -105,6 +123,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -116,6 +137,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([37, 37]) +cairo: rotate([0]) +cairo: translate([-37, -37]) cairo: rounded_rectangle([37, 37, 750, 1050, 25, 25]) cairo: set_source_color(["black"]) cairo: fill_preserve([]) @@ -127,6 +151,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -138,6 +165,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -149,6 +179,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -160,6 +193,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -171,6 +207,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -182,6 +221,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -193,6 +235,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) @@ -204,6 +249,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 675, 975, 20, 20]) cairo: set_source_color(["white"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/saves/_saves.rb.txt b/spec/data/samples/saves/_saves.rb.txt index 558cf11..42ead2b 100644 --- a/spec/data/samples/saves/_saves.rb.txt +++ b/spec/data/samples/saves/_saves.rb.txt @@ -79,6 +79,9 @@ cairo: set_source_color(["gray"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -90,6 +93,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -101,6 +107,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -112,6 +121,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -123,6 +135,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -134,6 +149,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -145,6 +163,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -156,6 +177,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -167,6 +191,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -178,6 +205,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -189,6 +219,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -200,6 +233,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -211,6 +247,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -222,6 +261,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -233,6 +275,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -244,6 +289,9 @@ cairo: set_dash([[4.0, 4.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/saves/_showcase.rb.txt b/spec/data/samples/saves/_showcase.rb.txt index b094d5f..8364a36 100644 --- a/spec/data/samples/saves/_showcase.rb.txt +++ b/spec/data/samples/saves/_showcase.rb.txt @@ -19,6 +19,9 @@ cairo: set_source_color(["#CE534D"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([78, 78]) +cairo: rotate([0]) +cairo: translate([-78, -78]) cairo: rounded_rectangle([78, 78, 675.0, 975.0, 32, 32]) cairo: set_source_color(["#DED4B9"]) cairo: fill_preserve([]) @@ -30,6 +33,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([78, 78]) +cairo: rotate([0]) +cairo: translate([-78, -78]) cairo: rounded_rectangle([78, 78, 675.0, 975.0, 32, 32]) cairo: set_source_color(["#DED4B9"]) cairo: fill_preserve([]) @@ -41,6 +47,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([78, 78]) +cairo: rotate([0]) +cairo: translate([-78, -78]) cairo: rounded_rectangle([78, 78, 675.0, 975.0, 32, 32]) cairo: set_source_color(["#DED4B9"]) cairo: fill_preserve([]) @@ -52,6 +61,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([78, 78]) +cairo: rotate([0]) +cairo: translate([-78, -78]) cairo: rounded_rectangle([78, 78, 675.0, 975.0, 32, 32]) cairo: set_source_color(["#DED4B9"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/shapes/_draw_shapes.rb.txt b/spec/data/samples/shapes/_draw_shapes.rb.txt index 0926d29..3bca7da 100644 --- a/spec/data/samples/shapes/_draw_shapes.rb.txt +++ b/spec/data/samples/shapes/_draw_shapes.rb.txt @@ -558,6 +558,9 @@ cairo: stroke([]) cairo: restore([]) cairo: restore([]) cairo: save([]) +cairo: translate([305, 105]) +cairo: rotate([0]) +cairo: translate([-305, -105]) cairo: rounded_rectangle([305, 105, 200, 50, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -569,6 +572,9 @@ cairo: set_dash([[4.0, 2.0]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([300, 300]) +cairo: rotate([0]) +cairo: translate([-300, -300]) cairo: rounded_rectangle([300, 300, 400, 400, 0, 0]) cairo: set_source_color(["blue"]) cairo: fill_preserve([]) @@ -580,6 +586,20 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([550, 105]) +cairo: rotate([-0.2]) +cairo: translate([-550, -105]) +cairo: rounded_rectangle([550, 105, 100, 100, 0, 0]) +cairo: set_source_color(["#0000"]) +cairo: fill_preserve([]) +cairo: set_source_color(["orange"]) +cairo: set_line_width([5]) +cairo: set_line_join([0]) +cairo: set_line_cap([0]) +cairo: set_dash([[]]) +cairo: stroke([]) +cairo: restore([]) +cairo: save([]) cairo: move_to([675, 600]) cairo: circle([600, 600, 75]) cairo: set_source_color(["gray"]) @@ -625,6 +645,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([50, 925]) +cairo: rotate([0]) +cairo: translate([-50, -925]) cairo: move_to([50, 975.0]) cairo: curve_to([50, 950.0, 100.0, 925, 150.0, 925]) cairo: curve_to([200.0, 925, 250, 950.0, 250, 975.0]) diff --git a/spec/data/samples/text_options.rb.txt b/spec/data/samples/text_options.rb.txt index 13cce30..2ccf675 100644 --- a/spec/data/samples/text_options.rb.txt +++ b/spec/data/samples/text_options.rb.txt @@ -14,6 +14,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([15, 15]) +cairo: rotate([0]) +cairo: translate([-15, -15]) cairo: rounded_rectangle([15, 15, 795, 1095, 50, 50]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -25,6 +28,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([15, 15]) +cairo: rotate([0]) +cairo: translate([-15, -15]) cairo: rounded_rectangle([15, 15, 795, 1095, 50, 50]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -36,6 +42,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([15, 15]) +cairo: rotate([0]) +cairo: translate([-15, -15]) cairo: rounded_rectangle([15, 15, 795, 1095, 50, 50]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -47,6 +56,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([30, 30]) +cairo: rotate([0]) +cairo: translate([-30, -30]) cairo: rounded_rectangle([30, 30, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -58,6 +70,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([30, 30]) +cairo: rotate([0]) +cairo: translate([-30, -30]) cairo: rounded_rectangle([30, 30, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -69,6 +84,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([30, 30]) +cairo: rotate([0]) +cairo: translate([-30, -30]) cairo: rounded_rectangle([30, 30, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -440,6 +458,9 @@ cairo: show_pango_layout([MockDouble]) pango: ellipsized?([]) cairo: restore([]) cairo: save([]) +cairo: translate([60, 545]) +cairo: rotate([0]) +cairo: translate([-60, -545]) cairo: rounded_rectangle([60, 545, 10, 10, 10, 10]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -451,6 +472,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([60, 545]) +cairo: rotate([0]) +cairo: translate([-60, -545]) cairo: rounded_rectangle([60, 545, 10, 10, 10, 10]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -462,6 +486,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([60, 545]) +cairo: rotate([0]) +cairo: translate([-60, -545]) cairo: rounded_rectangle([60, 545, 10, 10, 10, 10]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/tgc_proofs.rb.txt b/spec/data/samples/tgc_proofs.rb.txt index 8b43ffd..f6bc695 100644 --- a/spec/data/samples/tgc_proofs.rb.txt +++ b/spec/data/samples/tgc_proofs.rb.txt @@ -4,6 +4,9 @@ cairo: set_source_color(["white"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([38, 38]) +cairo: rotate([0]) +cairo: translate([-38, -38]) cairo: rounded_rectangle([38, 38, 750, 1050, 38, 38]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -15,6 +18,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75, 75]) +cairo: rotate([0]) +cairo: translate([-75, -75]) cairo: rounded_rectangle([75, 75, 128, 128, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) diff --git a/spec/data/samples/units.rb.txt b/spec/data/samples/units.rb.txt index 972141b..11ec56b 100644 --- a/spec/data/samples/units.rb.txt +++ b/spec/data/samples/units.rb.txt @@ -4,6 +4,9 @@ cairo: set_source_color(["#ddd"]) cairo: paint([]) cairo: restore([]) cairo: save([]) +cairo: translate([37.5, 37.5]) +cairo: rotate([0]) +cairo: translate([-37.5, -37.5]) cairo: rounded_rectangle([37.5, 37.5, 750.0, 1050.0, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -15,6 +18,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([75.0, 75.0]) +cairo: rotate([0]) +cairo: translate([-75.0, -75.0]) cairo: rounded_rectangle([75.0, 75.0, 675.0, 975.0, 25, 25]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([]) @@ -26,6 +32,9 @@ cairo: set_dash([[]]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: translate([472.4409444, 472.4409444]) +cairo: rotate([0]) +cairo: translate([-472.4409444, -472.4409444]) cairo: rounded_rectangle([472.4409444, 472.4409444, 100, 100, 0, 0]) cairo: set_source_color(["#0000"]) cairo: fill_preserve([])