class Squib::Args::Draw

Public Class Methods

expanding_parameters() click to toggle source
# File lib/squib/args/draw.rb, line 32
def self.expanding_parameters
  parameters.keys # all of them are expandable
end
new(custom_colors, dsl_method_defaults = {}) click to toggle source
# File lib/squib/args/draw.rb, line 15
def initialize(custom_colors, dsl_method_defaults = {})
  @custom_colors = custom_colors
  @dsl_method_defaults = dsl_method_defaults
end
parameters() click to toggle source
# File lib/squib/args/draw.rb, line 20
def self.parameters
  { color: :black,
    fill_color: '#0000',
    stroke_color: :black,
    stroke_width: 2.0,
    stroke_strategy: :fill_first,
    join: :miter,
    cap: 'butt',
    dash: ''
  }
end
params_with_units() click to toggle source
# File lib/squib/args/draw.rb, line 36
def self.params_with_units
  [:stroke_width]
end

Public Instance Methods

validate_cap(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 51
def validate_cap(arg, _i)
  case arg.to_s.strip.downcase
  when 'butt'
    Cairo::LINE_CAP_BUTT
  when 'round'
    Cairo::LINE_CAP_ROUND
  when 'square'
    Cairo::LINE_CAP_SQUARE
  end
end
validate_color(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 76
def validate_color(arg, _i)
  colorify(arg, @custom_colors)
end
validate_dash(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 62
def validate_dash(arg, _i)
  arg.to_s.split.collect do |x|
    UnitConversion.parse(x, @dpi, @cell_px).to_f
  end
end
validate_fill_color(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 68
def validate_fill_color(arg, _i)
  colorify(arg, @custom_colors)
end
validate_join(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 40
def validate_join(arg, _i)
  case arg.to_s.strip.downcase
  when 'miter'
    Cairo::LINE_JOIN_MITER
  when 'round'
    Cairo::LINE_JOIN_ROUND
  when 'bevel'
    Cairo::LINE_JOIN_BEVEL
  end
end
validate_stroke_color(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 72
def validate_stroke_color(arg, _i)
  colorify(arg, @custom_colors)
end
validate_stroke_strategy(arg, _i) click to toggle source
# File lib/squib/args/draw.rb, line 80
def validate_stroke_strategy(arg, _i)
  case arg.to_s.downcase.strip
  when 'fill_first'
    :fill_first
  when 'stroke_first'
    :stroke_first
  else
    raise "Only 'stroke_first' or 'fill_first' allowed"
  end
end