Employing the new args refactoring on all shapes
parent
8a7841d64f
commit
c5e00f1877
|
|
@ -13,6 +13,7 @@ Compatibility:
|
||||||
|
|
||||||
Chores:
|
Chores:
|
||||||
* Refactoring to make internal drawing code more DRY (#75, and much more). This is a big re-design that will help ease future features that involve manipulating arguments.
|
* Refactoring to make internal drawing code more DRY (#75, and much more). This is a big re-design that will help ease future features that involve manipulating arguments.
|
||||||
|
* Better testing and general flexibility around the `range` option.
|
||||||
|
|
||||||
## v0.6.0 / 2015-05-26
|
## v0.6.0 / 2015-05-26
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
require 'squib/args/box'
|
require 'squib/args/box'
|
||||||
require 'squib/args/draw'
|
require 'squib/args/draw'
|
||||||
|
require 'squib/args/card_range'
|
||||||
|
require 'squib/args/tri'
|
||||||
|
require 'squib/args/bezier'
|
||||||
|
require 'squib/args/polygon'
|
||||||
|
require 'squib/args/transform'
|
||||||
|
|
||||||
module Squib
|
module Squib
|
||||||
class Deck
|
class Deck
|
||||||
|
|
@ -28,13 +33,10 @@ module Squib
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def rect(opts = {})
|
def rect(opts = {})
|
||||||
opts = needs(opts, [:range, :rect_radius, :x_radius, :y_radius,
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
:fill_color, :stroke_color, :stroke_width, :layout])
|
|
||||||
box = Args::Box.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
box = Args::Box.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
range.each { |i| @cards[i].rect(box[i], draw[i]) }
|
||||||
@cards[i].rect(box[i], draw[i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw a circle centered at the given coordinates
|
# Draw a circle centered at the given coordinates
|
||||||
|
|
@ -51,17 +53,16 @@ module Squib
|
||||||
# @option opts fill_color [String] ('#0000') the color with which to fill the rectangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
# @option opts fill_color [String] ('#0000') the color with which to fill the rectangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
||||||
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the rectangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the rectangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def circle(opts = {})
|
def circle(opts = {})
|
||||||
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
opts = {radius: 100}.merge(opts) # overriding the non-system default
|
opts = {radius: 100}.merge(opts) # overriding the non-system default
|
||||||
opts = needs(opts, [:range, :x, :y, :circle_radius, :layout,
|
box = Args::Box.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
:fill_color, :stroke_color, :stroke_width])
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
range.each { |i| @cards[i].circle(box[i], draw[i]) }
|
||||||
@cards[i].circle(opts[:x][i], opts[:y][i], opts[:radius][i],
|
|
||||||
opts[:fill_color][i], opts[:stroke_color][i], opts[:stroke_width][i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw an ellipse
|
# Draw an ellipse
|
||||||
|
|
@ -79,17 +80,15 @@ module Squib
|
||||||
# @option opts fill_color [String] ('#0000') the color with which to fill the rectangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts fill_color [String] ('#0000') the color with which to fill the rectangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the rectangle. {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the rectangle. {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def ellipse(opts = {})
|
def ellipse(opts = {})
|
||||||
opts = needs(opts, [:range, :x, :y, :width, :height,
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
:fill_color, :stroke_color, :stroke_width, :layout])
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
box = Args::Box.new(self).load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
@cards[i].ellipse(opts[:x][i], opts[:y][i], opts[:width][i], opts[:height][i],
|
range.each { |i| @cards[i].ellipse(box[i], draw[i]) }
|
||||||
opts[:fill_color][i], opts[:stroke_color][i],
|
|
||||||
opts[:stroke_width][i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw a triangle using the given coordinates
|
# Draw a triangle using the given coordinates
|
||||||
|
|
@ -109,19 +108,15 @@ module Squib
|
||||||
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts stroke_color [String] (:black) the color with which to stroke the outside of the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def triangle(opts = {})
|
def triangle(opts = {})
|
||||||
opts = needs(opts, [:range, :x1, :y1, :x2, :y2, :x3, :y3, :layout,
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
:fill_color, :stroke_color, :stroke_width])
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
tri = Args::Tri.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
@cards[i].triangle(opts[:x1][i], opts[:y1][i],
|
range.each { |i| @cards[i].triangle(tri[i], draw[i]) }
|
||||||
opts[:x2][i], opts[:y2][i],
|
|
||||||
opts[:x3][i], opts[:y3][i],
|
|
||||||
opts[:fill_color][i], opts[:stroke_color][i],
|
|
||||||
opts[:stroke_width][i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw a line using the given coordinates
|
# Draw a line using the given coordinates
|
||||||
|
|
@ -136,16 +131,16 @@ module Squib
|
||||||
# @option opts y2 [Integer] (50) the y-coordinate to place. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts y2 [Integer] (50) the y-coordinate to place. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
# @option opts stroke_color [String] (:black) the color with which to stroke the line. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
# @option opts stroke_color [String] (:black) the color with which to stroke the line. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
|
# @option opts cap [String] ('butt') how the end of the line is drawn. Options are "square", "butt", and "round"
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def line(opts = {})
|
def line(opts = {})
|
||||||
opts = needs(opts, [:range, :x1, :y1, :x2, :y2, :layout,
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
:stroke_color, :stroke_width])
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
bezier = Args::Bezier.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
@cards[i].line(opts[:x1][i], opts[:y1][i], opts[:x2][i], opts[:y2][i],
|
range.each { |i| @cards[i].line(bezier[i], draw[i]) }
|
||||||
opts[:stroke_color][i], opts[:stroke_width][i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw a curve using the given coordinates
|
# Draw a curve using the given coordinates
|
||||||
|
|
@ -163,18 +158,15 @@ module Squib
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
# @option opts cap [String] ('butt') how the end of the line is drawn. Options are "square", "butt", and "round"
|
# @option opts cap [String] ('butt') how the end of the line is drawn. Options are "square", "butt", and "round"
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def curve(opts = {})
|
def curve(opts = {})
|
||||||
opts = needs(opts, [:range, :x1, :y1, :cx1, :cy1, :x2, :y2, :cx2, :cy2,
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
:layout, :fill_color, :stroke_color, :stroke_width])
|
|
||||||
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
bezier = Args::Bezier.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
@cards[i].curve(opts[:x1][i], opts[:y1][i], opts[:cx1][i], opts[:cy1][i],
|
range.each { |i| @cards[i].curve(bezier[i], draw[i]) }
|
||||||
opts[:x2][i], opts[:y2][i], opts[:cx2][i], opts[:cy2][i],
|
|
||||||
draw[i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw a star at the given x,y
|
# Draw a star at the given x,y
|
||||||
|
|
@ -191,18 +183,16 @@ module Squib
|
||||||
# @option opts stroke_color [String] (:black) the color with which to stroke the line. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
# @option opts stroke_color [String] (:black) the color with which to stroke the line. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def star(opts = {})
|
def star(opts = {})
|
||||||
opts = needs(opts, [:range, :x, :y, :n, :angle, :inner_radius, :outer_radius,
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
:layout, :fill_color, :stroke_color, :stroke_width])
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:range].each do |i|
|
poly = Args::Polygon.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
@cards[i].star(opts[:x][i], opts[:y][i], opts[:n][i], opts[:angle][i],
|
trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:inner_radius][i], opts[:outer_radius][i],
|
range.each { |i| @cards[i].star(poly[i], trans[i], draw[i]) }
|
||||||
opts[:fill_color][i], opts[:stroke_color][i],
|
|
||||||
opts[:stroke_width][i])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Draw a regular polygon at the given x,y
|
# Draw a regular polygon at the given x,y
|
||||||
|
|
@ -215,19 +205,20 @@ module Squib
|
||||||
# @option opts y [Fixnum] (0) the y-coordinate of the center. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts y [Fixnum] (0) the y-coordinate of the center. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
# @option opts n [Integer] (5) the number of points on the star
|
# @option opts n [Integer] (5) the number of points on the star
|
||||||
# @option opts angle [Fixnum] (0) the angle at which to rotate
|
# @option opts angle [Fixnum] (0) the angle at which to rotate
|
||||||
|
# @option opts radius [Fixnum] (0) the radius from center to corner. Supports Unit conversion.
|
||||||
# @option opts stroke_color [String] (:black) the color with which to stroke the line. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
# @option opts stroke_color [String] (:black) the color with which to stroke the line. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}.
|
||||||
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
# @option opts stroke_width [Decimal] (2.0) the width of the outside stroke. Supports Unit Conversion, see {file:README.md#Units Units}.
|
||||||
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
# @option opts fill_color [String] ('#0000') the color with which to fill the triangle. See {file:README.md#Specifying_Colors___Gradients Specifying Colors & Gradients}
|
||||||
|
# @option opts dash [String] ('') define a dash pattern for the stroke. Provide a string with space-separated numbers that define the pattern of on-and-off alternating strokes, measured in pixels by defautl. Supports Unit Conversion, see {file:README.md#Units Units} (e.g. `'0.02in 0.02in'`).
|
||||||
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
# @option opts layout [String, Symbol] (nil) entry in the layout to use as defaults for this command. See {file:README.md#Custom_Layouts Custom Layouts}
|
||||||
# @return [nil] intended to be void
|
# @return [nil] intended to be void
|
||||||
# @api public
|
# @api public
|
||||||
def polygon(opts = {})
|
def polygon(opts = {})
|
||||||
opts = needs(opts, [:range, :x, :y, :n, :circle_radius, :angle, :layout, :fill_color, :stroke_color, :stroke_width])
|
range = Args::CardRange.new(opts[:range], deck_size: size)
|
||||||
opts[:range].each do |i|
|
draw = Args::Draw.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
@cards[i].polygon(opts[:x][i], opts[:y][i], opts[:n][i], opts[:angle][i], opts[:radius][i],
|
poly = Args::Polygon.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:fill_color][i], opts[:stroke_color][i],
|
trans = Args::Transform.new.load!(opts, expand_by: size, layout: layout, dpi: dpi)
|
||||||
opts[:stroke_width][i])
|
range.each { |i| @cards[i].polygon(poly[i], trans[i], draw[i]) }
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ module Squib
|
||||||
val = instance_variable_get(attribute)
|
val = instance_variable_get(attribute)
|
||||||
if val.respond_to? :each
|
if val.respond_to? :each
|
||||||
new_val = val.map.with_index do |v, i|
|
new_val = val.map.with_index do |v, i|
|
||||||
v ||= layout[layout_args[i]][param] unless layout_args[i].nil?
|
v ||= layout[layout_args[i].to_s][param] unless layout_args[i].nil?
|
||||||
v ||= default
|
v ||= default
|
||||||
end
|
end
|
||||||
instance_variable_set(attribute, new_val)
|
instance_variable_set(attribute, new_val)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
require 'squib/args/arg_loader'
|
||||||
|
|
||||||
|
module Squib
|
||||||
|
# @api private
|
||||||
|
module Args
|
||||||
|
|
||||||
|
class Bezier
|
||||||
|
include ArgLoader
|
||||||
|
|
||||||
|
def self.parameters
|
||||||
|
{ x1: 100, y1: 100,
|
||||||
|
cx1: 0 , cy1: 0,
|
||||||
|
x2: 150, y2: 150,
|
||||||
|
cx2: 0 , cy2: 0}
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.expanding_parameters
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.params_with_units
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
module Squib
|
||||||
|
# @api private
|
||||||
|
module Args
|
||||||
|
class CardRange
|
||||||
|
include Enumerable
|
||||||
|
|
||||||
|
def initialize(input, deck_size: 1)
|
||||||
|
@range = validate(input, deck_size)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Hook into enumerable by delegating to @range
|
||||||
|
def each(&block)
|
||||||
|
@range.each { |i| block.call(i) }
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def validate(input, deck_size)
|
||||||
|
input ||= :all # default
|
||||||
|
input = 0..(deck_size - 1) if input == :all
|
||||||
|
input = (input.to_i)..(input.to_i) if input.respond_to? :to_i
|
||||||
|
raise ArgumentError.new("#{input} must be Enumerable (i.e. respond_to :each).") unless input.respond_to? :each
|
||||||
|
raise ArgumentError.new("#{input} is outside of deck range of 0..#{deck_size-1}") if input.max > (deck_size - 1)
|
||||||
|
input
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
require 'squib/args/arg_loader'
|
||||||
|
|
||||||
|
module Squib
|
||||||
|
# @api private
|
||||||
|
module Args
|
||||||
|
|
||||||
|
class Polygon
|
||||||
|
include ArgLoader
|
||||||
|
|
||||||
|
def self.parameters
|
||||||
|
{ x: 0, y: 0, n: 5,
|
||||||
|
radius: 100, inner_radius: 50, outer_radius: 100}
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.expanding_parameters
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.params_with_units
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
require 'squib/args/arg_loader'
|
||||||
|
|
||||||
|
module Squib
|
||||||
|
# @api private
|
||||||
|
module Args
|
||||||
|
|
||||||
|
class Transform
|
||||||
|
include ArgLoader
|
||||||
|
|
||||||
|
def self.parameters
|
||||||
|
{ angle: 0 }
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.expanding_parameters
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.params_with_units
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
require 'squib/args/arg_loader'
|
||||||
|
|
||||||
|
module Squib
|
||||||
|
# @api private
|
||||||
|
module Args
|
||||||
|
|
||||||
|
class Tri
|
||||||
|
include ArgLoader
|
||||||
|
|
||||||
|
def self.parameters
|
||||||
|
{ x1: 100, y1: 100,
|
||||||
|
x2: 150, y2: 150,
|
||||||
|
x3: 100, y3: 150 }
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.expanding_parameters
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.params_with_units
|
||||||
|
parameters.keys # all of them
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -52,19 +52,23 @@ module Squib
|
||||||
|
|
||||||
# Convenience method for a common task
|
# Convenience method for a common task
|
||||||
# @api private
|
# @api private
|
||||||
def fill_n_stroke(fill_color, stroke_color, stroke_width,
|
def fill_n_stroke(draw)
|
||||||
line_join = 0, line_cap = Cairo::LINE_CAP_BUTT,
|
set_source_squibcolor draw.fill_color
|
||||||
dash = [])
|
|
||||||
set_source_squibcolor(fill_color)
|
|
||||||
fill_preserve
|
fill_preserve
|
||||||
set_source_squibcolor(stroke_color)
|
set_source_squibcolor draw.stroke_color
|
||||||
set_line_width(stroke_width)
|
set_line_width draw.stroke_width
|
||||||
set_line_join(line_join)
|
set_line_join draw.join
|
||||||
set_line_cap(line_cap)
|
set_line_cap draw.cap
|
||||||
set_dash(dash)
|
set_dash draw.dash
|
||||||
stroke
|
stroke
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def rotate_about(x, y, angle)
|
||||||
|
translate(x, y)
|
||||||
|
rotate(angle)
|
||||||
|
translate(-x, -y)
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
@ -7,17 +7,18 @@ module Squib
|
||||||
def rect(box, draw)
|
def rect(box, draw)
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.rounded_rectangle(box.x, box.y, box.width, box.height, box.x_radius, box.y_radius)
|
cc.rounded_rectangle(box.x, box.y, box.width, box.height, box.x_radius, box.y_radius)
|
||||||
cc.fill_n_stroke(draw.fill_color, draw.stroke_color, draw.stroke_width, draw.join, draw.cap, draw.dash)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def circle(x, y, radius, fill_color, stroke_color, stroke_width)
|
def circle(box, draw)
|
||||||
|
x, y, r = box.x, box.y, box.radius
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.move_to(x + radius, y)
|
cc.move_to(x + r, y)
|
||||||
cc.circle(x, y, radius)
|
cc.circle(x, y, r)
|
||||||
cc.fill_n_stroke(fill_color, stroke_color, stroke_width)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -26,7 +27,8 @@ module Squib
|
||||||
# of the rectangle. Control points are at 1/4 and 3/4 of the side.
|
# of the rectangle. Control points are at 1/4 and 3/4 of the side.
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def ellipse(x, y, w, h, fill_color, stroke_color, stroke_width)
|
def ellipse(box, draw)
|
||||||
|
x, y, w, h = box.x, box.y, box.width, box.height
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.move_to(x, y + 0.5*h) # start west
|
cc.move_to(x, y + 0.5*h) # start west
|
||||||
cc.curve_to(x, y + 0.25*h, # west to north
|
cc.curve_to(x, y + 0.25*h, # west to north
|
||||||
|
|
@ -41,48 +43,49 @@ module Squib
|
||||||
cc.curve_to(x + 0.25*w, y + h, # south to west
|
cc.curve_to(x + 0.25*w, y + h, # south to west
|
||||||
x, y + 0.75*h,
|
x, y + 0.75*h,
|
||||||
x, y + 0.5*h)
|
x, y + 0.5*h)
|
||||||
cc.fill_n_stroke(fill_color, stroke_color, stroke_width)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def triangle(x1, y1, x2, y2, x3, y3, fill_color, stroke_color, stroke_width)
|
def triangle(tri, draw)
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.triangle(x1, y1, x2, y2, x3, y3)
|
cc.triangle(tri.x1, tri.y1, tri.x2, tri.y2, tri.x3, tri.y3)
|
||||||
cc.fill_n_stroke(fill_color, stroke_color, stroke_width)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def line(x1, y1, x2, y2, stroke_color, stroke_width)
|
def line(coord, draw)
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.move_to(x1, y1)
|
cc.move_to(coord.x1, coord.y1)
|
||||||
cc.line_to(x2, y2)
|
cc.line_to(coord.x2, coord.y2)
|
||||||
cc.set_source_squibcolor(stroke_color)
|
cc.fill_n_stroke(draw)
|
||||||
cc.set_line_width(stroke_width)
|
|
||||||
cc.stroke
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def curve(x1, y1, cx1, cy1, x2, y2, cx2, cy2, draw)
|
def curve(bez, draw)
|
||||||
|
x1, y1, cx1, cy1 = bez.x1, bez.y1, bez.cx1, bez.cy1
|
||||||
|
cx2, cy2, x2, y2 = bez.cx2, bez.cy2, bez.x2, bez.y2
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.move_to(x1, y1)
|
cc.move_to(x1, y1)
|
||||||
cc.curve_to(cx1, cy1, cx2, cy2, x2, y2)
|
cc.curve_to(cx1, cy1, cx2, cy2, x2, y2)
|
||||||
cc.fill_n_stroke(draw.fill_color, draw.stroke_color, draw.stroke_width, draw.join, draw.cap)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def star(x, y, n, angle, inner_radius, outer_radius, fill_color, stroke_color, stroke_width)
|
def star(poly, trans, draw)
|
||||||
|
x, y, n = poly.x, poly.y, poly.n
|
||||||
|
inner_radius, outer_radius = poly.inner_radius, poly.outer_radius
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.translate(x, y)
|
poly.instance_eval do
|
||||||
cc.rotate(angle)
|
cc.rotate_about(x, y, trans.angle)
|
||||||
cc.translate(-x, -y)
|
|
||||||
cc.move_to(x + outer_radius, y) #i = 0, so cos(0)=1 and sin(0)=0
|
cc.move_to(x + outer_radius, y) #i = 0, so cos(0)=1 and sin(0)=0
|
||||||
theta = Math::PI / n.to_f # i.e. (2*pi) / (2*n)
|
theta = Math::PI / n.to_f # i.e. (2*pi) / (2*n)
|
||||||
0.upto(2 * n) do |i|
|
0.upto(2 * n) do |i|
|
||||||
|
|
@ -90,18 +93,18 @@ module Squib
|
||||||
cc.line_to(x + radius * Math::cos(i * theta),
|
cc.line_to(x + radius * Math::cos(i * theta),
|
||||||
y + radius * Math::sin(i * theta))
|
y + radius * Math::sin(i * theta))
|
||||||
end
|
end
|
||||||
|
end
|
||||||
cc.close_path
|
cc.close_path
|
||||||
cc.fill_n_stroke(fill_color, stroke_color, stroke_width)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# :nodoc:
|
# :nodoc:
|
||||||
# @api private
|
# @api private
|
||||||
def polygon(x, y, n, angle, radius, fill_color, stroke_color, stroke_width)
|
def polygon(poly, trans, draw)
|
||||||
|
x, y, n, radius = poly.x, poly.y, poly.n, poly.radius
|
||||||
use_cairo do |cc|
|
use_cairo do |cc|
|
||||||
cc.translate(x, y)
|
cc.rotate_about(x, y, trans.angle)
|
||||||
cc.rotate(angle)
|
|
||||||
cc.translate(-x, -y)
|
|
||||||
cc.move_to(x + radius, y) # i = 0, so cos(0)=1 and sin(0)=0
|
cc.move_to(x + radius, y) # i = 0, so cos(0)=1 and sin(0)=0
|
||||||
theta = (2 * Math::PI) / n.to_f
|
theta = (2 * Math::PI) / n.to_f
|
||||||
0.upto(n) do |i|
|
0.upto(n) do |i|
|
||||||
|
|
@ -109,9 +112,10 @@ module Squib
|
||||||
y + radius * Math::sin(i * theta))
|
y + radius * Math::sin(i * theta))
|
||||||
end
|
end
|
||||||
cc.close_path
|
cc.close_path
|
||||||
cc.fill_n_stroke(fill_color, stroke_color, stroke_width)
|
cc.fill_n_stroke(draw)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,15 @@ describe Squib::Args::Box do
|
||||||
y: [0, 0], # Box default
|
y: [0, 0], # Box default
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'handles symbols' do
|
||||||
|
args = { layout: :attack }
|
||||||
|
box.load!(args, expand_by: 2, layout: layout)
|
||||||
|
expect(box).to have_attributes(
|
||||||
|
x: [50, 50], # set by layout
|
||||||
|
y: [0, 0], # Box default
|
||||||
|
)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'unit conversion' do
|
context 'unit conversion' do
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'squib/args/card_range'
|
||||||
|
|
||||||
|
describe Squib::Args::CardRange do
|
||||||
|
|
||||||
|
it 'must be within the card size range' do
|
||||||
|
expect {Squib::Args::CardRange.new(2..3, deck_size: 2)}
|
||||||
|
.to raise_error(ArgumentError, '2..3 is outside of deck range of 0..1')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'defaults to range of all cards if :all' do
|
||||||
|
range = Squib::Args::CardRange.new(:all, deck_size: 5)
|
||||||
|
expect(range.to_a).to eq([0, 1, 2, 3, 4])
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'creates a range of cards for singleton' do
|
||||||
|
range = Squib::Args::CardRange.new(3, deck_size: 5)
|
||||||
|
expect(range.to_a).to eq([3])
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'lets arrays pass through unchanged' do
|
||||||
|
range = Squib::Args::CardRange.new([0, 2], deck_size: 5)
|
||||||
|
expect(range.to_a).to eq([0, 2])
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'raises an error on everything else' do
|
||||||
|
expect { Squib::Args::CardRange.new(:foo, deck_size: 5) }
|
||||||
|
.to raise_error(ArgumentError, 'foo must be Enumerable (i.e. respond_to :each).')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'allows anything with :to_i' do
|
||||||
|
range = Squib::Args::CardRange.new(0.9, deck_size: 5)
|
||||||
|
expect(range.to_a).to eq([0])
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
@ -19,6 +19,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -27,6 +30,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -35,6 +41,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -43,6 +52,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -51,6 +63,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -59,6 +74,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[4.0, 2.0]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -17,6 +20,9 @@ cairo: set_source_color([:blue])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:red])
|
cairo: set_source_color([:red])
|
||||||
cairo: set_line_width([50.0])
|
cairo: set_line_width([50.0])
|
||||||
|
cairo: set_line_join([2])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -26,6 +32,9 @@ cairo: set_source_color([:gray])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:green])
|
cairo: set_source_color([:green])
|
||||||
cairo: set_line_width([8.0])
|
cairo: set_line_width([8.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -34,13 +43,21 @@ cairo: set_source_color([:gray])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:green])
|
cairo: set_source_color([:green])
|
||||||
cairo: set_line_width([3.0])
|
cairo: set_line_width([3.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
cairo: move_to([50, 550])
|
cairo: move_to([50, 550])
|
||||||
cairo: line_to([150, 650])
|
cairo: line_to([150, 650])
|
||||||
|
cairo: set_source_color(["#0000"])
|
||||||
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([25.0])
|
cairo: set_line_width([25.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -50,6 +67,9 @@ cairo: set_source_color([:burgundy])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:cyan])
|
cairo: set_source_color([:cyan])
|
||||||
cairo: set_line_width([12.0])
|
cairo: set_line_width([12.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([1])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -62,6 +82,9 @@ cairo: set_source_color([:burgundy])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:cyan])
|
cairo: set_source_color([:cyan])
|
||||||
cairo: set_line_width([5.0])
|
cairo: set_line_width([5.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -85,6 +108,9 @@ cairo: set_source_color([:cyan])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:burgundy])
|
cairo: set_source_color([:burgundy])
|
||||||
cairo: set_line_width([3])
|
cairo: set_line_width([3])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -103,6 +129,9 @@ cairo: set_source_color([:cyan])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:burgundy])
|
cairo: set_source_color([:burgundy])
|
||||||
cairo: set_line_width([2])
|
cairo: set_line_width([2])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
surface: write_to_png(["_output/shape_00.png"])
|
surface: write_to_png(["_output/shape_00.png"])
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,13 @@ cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
cairo: move_to([0, 600])
|
cairo: move_to([0, 600])
|
||||||
cairo: line_to([825, 600])
|
cairo: line_to([825, 600])
|
||||||
|
cairo: set_source_color(["#0000"])
|
||||||
|
cairo: fill_preserve([])
|
||||||
cairo: set_source([LinearPattern])
|
cairo: set_source([LinearPattern])
|
||||||
cairo: set_line_width([15])
|
cairo: set_line_width([15])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -17,6 +22,9 @@ cairo: set_source([RadialPattern])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color(["#0000"])
|
cairo: set_source_color(["#0000"])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -25,6 +33,9 @@ cairo: set_source([RadialPattern])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color(["#0000"])
|
cairo: set_source_color(["#0000"])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -33,6 +44,9 @@ cairo: set_source([LinearPattern])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color(["#0000"])
|
cairo: set_source_color(["#0000"])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -41,6 +55,9 @@ cairo: set_source([LinearPattern])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color(["#0000"])
|
cairo: set_source_color(["#0000"])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -52,6 +55,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -60,6 +66,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -68,6 +77,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -76,6 +88,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -84,6 +99,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -92,6 +110,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -100,6 +121,9 @@ cairo: set_source_color([:black])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -108,6 +132,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -116,6 +143,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -124,6 +154,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -132,6 +165,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -140,6 +176,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -148,6 +187,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -156,6 +198,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -164,6 +209,9 @@ cairo: set_source_color([:white])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -92,6 +95,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -100,6 +106,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -108,6 +117,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -116,6 +128,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -124,6 +139,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -132,6 +150,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -140,6 +161,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -148,6 +172,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -156,6 +183,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -164,6 +194,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -172,6 +205,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -180,6 +216,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -188,6 +227,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -196,6 +238,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -204,6 +249,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ cairo: set_source_color(["#DED4B9"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -32,6 +35,9 @@ cairo: set_source_color(["#DED4B9"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -40,6 +46,9 @@ cairo: set_source_color(["#DED4B9"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -48,6 +57,9 @@ cairo: set_source_color(["#DED4B9"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -27,6 +30,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -35,6 +41,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -43,6 +52,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -51,6 +63,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -59,6 +74,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -448,6 +466,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -456,6 +477,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -464,6 +488,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -17,6 +20,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -17,6 +20,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
cairo: save([])
|
cairo: save([])
|
||||||
|
|
@ -25,6 +31,9 @@ cairo: set_source_color(["#0000"])
|
||||||
cairo: fill_preserve([])
|
cairo: fill_preserve([])
|
||||||
cairo: set_source_color([:black])
|
cairo: set_source_color([:black])
|
||||||
cairo: set_line_width([2.0])
|
cairo: set_line_width([2.0])
|
||||||
|
cairo: set_line_join([0])
|
||||||
|
cairo: set_line_cap([0])
|
||||||
|
cairo: set_dash([[]])
|
||||||
cairo: stroke([])
|
cairo: stroke([])
|
||||||
cairo: restore([])
|
cairo: restore([])
|
||||||
surface: write_to_png(["_output/units_00.png"])
|
surface: write_to_png(["_output/units_00.png"])
|
||||||
|
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
require 'spec_helper'
|
|
||||||
require 'squib'
|
|
||||||
|
|
||||||
describe Squib::Card do
|
|
||||||
|
|
||||||
let(:deck) { double(Squib::Deck) }
|
|
||||||
let(:cxt) { double(Cairo::Context) }
|
|
||||||
|
|
||||||
def expect_stroke(cxt, fill_color, stroke_color, stroke_width)
|
|
||||||
expect(cxt).to receive(:set_source_color).with(fill_color).once
|
|
||||||
expect(cxt).to receive(:fill_preserve).once
|
|
||||||
expect(cxt).to receive(:set_source_color).with(stroke_color).once
|
|
||||||
expect(cxt).to receive(:set_line_width).with(stroke_width).once
|
|
||||||
expect(cxt).to receive(:stroke).once
|
|
||||||
end
|
|
||||||
|
|
||||||
before(:each) do
|
|
||||||
allow(Cairo::Context).to receive(:new).and_return(cxt)
|
|
||||||
allow(deck).to receive(:dir).and_return('_output')
|
|
||||||
allow(deck).to receive(:count_format).and_return('%02d')
|
|
||||||
allow(deck).to receive(:prefix).and_return('card_')
|
|
||||||
allow(deck).to receive(:antialias).and_return('subpixel')
|
|
||||||
allow(deck).to receive(:backend).and_return('memory')
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'rect' do
|
|
||||||
it 'make all the expected calls on a smoke test' do
|
|
||||||
expect(cxt).to receive(:antialias=).with('subpixel')
|
|
||||||
expect(cxt).to receive(:save).once
|
|
||||||
expect(cxt).to receive(:rounded_rectangle).with(37, 38, 50, 100, 10, 15).once
|
|
||||||
expect_stroke(cxt, '#fff', '#f00', 2.0)
|
|
||||||
expect(cxt).to receive(:restore).once
|
|
||||||
|
|
||||||
card = Squib::Card.new(deck, 100, 150)
|
|
||||||
# rect(Args::Box, x_radius, y_radius, Args::Draw)
|
|
||||||
box = OpenStruct.new(x: 37, y: 38, width: 50, height: 100, x_radius: 10, y_radius: 15)
|
|
||||||
draw = OpenStruct.new(fill_color: '#fff', stroke_color: '#f00', stroke_width: 2.0)
|
|
||||||
card.rect(box, draw)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'circle' do
|
|
||||||
it 'make all the expected calls on a smoke test' do
|
|
||||||
expect(cxt).to receive(:antialias=).with('subpixel')
|
|
||||||
expect(cxt).to receive(:save).once
|
|
||||||
expect(cxt).to receive(:move_to).with(137, 38)
|
|
||||||
expect(cxt).to receive(:circle).with(37, 38, 100).once
|
|
||||||
expect_stroke(cxt, '#fff', '#f00', 2.0)
|
|
||||||
expect(cxt).to receive(:restore).once
|
|
||||||
|
|
||||||
card = Squib::Card.new(deck, 100, 150)
|
|
||||||
# circle(x, y, radius,
|
|
||||||
# fill_color, stroke_color, stroke_width)
|
|
||||||
card.circle(37, 38, 100, '#fff', '#f00', 2.0)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'triangle' do
|
|
||||||
it 'make all the expected calls on a smoke test' do
|
|
||||||
expect(cxt).to receive(:antialias=).with('subpixel')
|
|
||||||
expect(cxt).to receive(:save).once
|
|
||||||
expect(cxt).to receive(:triangle).with(1, 2, 3, 4, 5, 6).once
|
|
||||||
expect_stroke(cxt, '#fff', '#f00', 2.0)
|
|
||||||
expect(cxt).to receive(:restore).once
|
|
||||||
|
|
||||||
card = Squib::Card.new(deck, 100, 150)
|
|
||||||
card.triangle(1, 2, 3, 4, 5, 6, '#fff', '#f00', 2.0)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'line' do
|
|
||||||
it 'make all the expected calls on a smoke test' do
|
|
||||||
expect(cxt).to receive(:antialias=).with('subpixel')
|
|
||||||
expect(cxt).to receive(:save).once
|
|
||||||
expect(cxt).to receive(:move_to).with(1, 2).once
|
|
||||||
expect(cxt).to receive(:line_to).with(3, 4).once
|
|
||||||
expect(cxt).to receive(:set_source_color).with('#fff').once
|
|
||||||
expect(cxt).to receive(:set_line_width).with(2.0).once
|
|
||||||
expect(cxt).to receive(:stroke).once
|
|
||||||
expect(cxt).to receive(:restore).once
|
|
||||||
|
|
||||||
card = Squib::Card.new(deck, 100, 150)
|
|
||||||
card.line(1, 2, 3, 4, '#fff', 2.0)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
@ -104,7 +104,7 @@ def mock_cairo(strio)
|
||||||
set_line_width stroke fill set_source scale render_rsvg_handle circle
|
set_line_width stroke fill set_source scale render_rsvg_handle circle
|
||||||
triangle line_to operator= show_page clip transform mask rectangle
|
triangle line_to operator= show_page clip transform mask rectangle
|
||||||
reset_clip antialias= curve_to matrix= pango_layout_path stroke_preserve
|
reset_clip antialias= curve_to matrix= pango_layout_path stroke_preserve
|
||||||
fill_preserve close_path).each do |m|
|
fill_preserve close_path set_dash set_line_cap set_line_join).each do |m|
|
||||||
allow(cxt).to receive(m) { |*args| strio << scrub_hex("cairo: #{m}(#{args})\n") }
|
allow(cxt).to receive(m) { |*args| strio << scrub_hex("cairo: #{m}(#{args})\n") }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
"tab_size": 2,
|
||||||
|
"translate_tabs_to_spaces": true,
|
||||||
"folders":
|
"folders":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -21,6 +23,7 @@
|
||||||
// {"name": "rake run[csv_import]", "shell_cmd": "rake run[csv_import]",},
|
// {"name": "rake run[csv_import]", "shell_cmd": "rake run[csv_import]",},
|
||||||
// {"name": "rake run[custom_config]", "shell_cmd": "rake run[custom_config]",},
|
// {"name": "rake run[custom_config]", "shell_cmd": "rake run[custom_config]",},
|
||||||
{"name": "rake run[draw_shapes]", "shell_cmd": "rake run[draw_shapes]",},
|
{"name": "rake run[draw_shapes]", "shell_cmd": "rake run[draw_shapes]",},
|
||||||
|
{"name": "rake run[layouts]", "shell_cmd": "rake run[layouts]",},
|
||||||
// {"name": "rake run[embed_text]", "shell_cmd": "rake run[embed_text]",},
|
// {"name": "rake run[embed_text]", "shell_cmd": "rake run[embed_text]",},
|
||||||
// {"name": "rake run[load_images]", "shell_cmd": "rake run[load_images]",},
|
// {"name": "rake run[load_images]", "shell_cmd": "rake run[load_images]",},
|
||||||
// {"name": "rake run[text_options]", "shell_cmd": "rake run[text_options]",},
|
// {"name": "rake run[text_options]", "shell_cmd": "rake run[text_options]",},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue