From d2543473c7226a2cefbf907887d1aab21d9802b5 Mon Sep 17 00:00:00 2001 From: Andy Meneely Date: Fri, 13 Feb 2015 12:54:19 -0500 Subject: [PATCH] Fix a leftover x,y stroke on circles Fixes #35 --- lib/squib/graphics/shapes.rb | 1 + spec/data/samples/draw_shapes.rb.txt | 1 + spec/data/samples/gradients.rb.txt | 1 + spec/graphics/graphics_shapes_spec.rb | 1 + 4 files changed, 4 insertions(+) diff --git a/lib/squib/graphics/shapes.rb b/lib/squib/graphics/shapes.rb index be2e7ff..93a442f 100644 --- a/lib/squib/graphics/shapes.rb +++ b/lib/squib/graphics/shapes.rb @@ -21,6 +21,7 @@ module Squib # @api private def circle(x, y, radius, fill_color, stroke_color, stroke_width) use_cairo do |cc| + cc.move_to(x,y) cc.circle(x, y, radius) cc.set_source_squibcolor(stroke_color) cc.set_line_width(stroke_width) diff --git a/spec/data/samples/draw_shapes.rb.txt b/spec/data/samples/draw_shapes.rb.txt index 6110ffa..6c61857 100644 --- a/spec/data/samples/draw_shapes.rb.txt +++ b/spec/data/samples/draw_shapes.rb.txt @@ -8,6 +8,7 @@ cairo: set_source_color([:blue]) cairo: fill([]) cairo: restore([]) cairo: save([]) +cairo: move_to([600, 600]) cairo: circle([600, 600, 75]) cairo: set_source_color([:green]) cairo: set_line_width([8.0]) diff --git a/spec/data/samples/gradients.rb.txt b/spec/data/samples/gradients.rb.txt index 54e154a..2f4e34f 100644 --- a/spec/data/samples/gradients.rb.txt +++ b/spec/data/samples/gradients.rb.txt @@ -10,6 +10,7 @@ cairo: set_line_width([15]) cairo: stroke([]) cairo: restore([]) cairo: save([]) +cairo: move_to([415, 415]) cairo: circle([415, 415, 100]) cairo: set_source_color(["#0000"]) cairo: set_line_width([2.0]) diff --git a/spec/graphics/graphics_shapes_spec.rb b/spec/graphics/graphics_shapes_spec.rb index d5498d5..4547d83 100644 --- a/spec/graphics/graphics_shapes_spec.rb +++ b/spec/graphics/graphics_shapes_spec.rb @@ -34,6 +34,7 @@ describe Squib::Card do context 'circle' do it 'make all the expected calls on a smoke test' do expect(@context).to receive(:save).once + expect(@context).to receive(:move_to).with(37, 38) expect(@context).to receive(:circle).with(37, 38, 100).twice expect_stroke('#fff', '#f00', 2.0) expect(@context).to receive(:restore).once