lib/squib/args/paint.rb in squib-0.15.3 vs lib/squib/args/paint.rb in squib-0.16.0.pre.preview1
- old
+ new
@@ -1,44 +1,43 @@
require 'cairo'
require_relative 'arg_loader'
require_relative 'color_validator'
-module Squib
- # @api private
- module Args
- class Paint
- include ArgLoader
- include ColorValidator
+module Squib::Args
+ module_function def extract_paint(opts, deck)
+ Paint.new(deck.custom_colors).extract!(opts, deck)
+ end
+
+ class Paint
+ include ArgLoader
+ include ColorValidator
- def self.parameters
- { alpha: 1.0,
- blend: :none,
- mask: nil,
- }
- end
+ def initialize(custom_colors)
+ @custom_colors = custom_colors
+ end
+ def self.parameters
+ { alpha: 1.0,
+ blend: :none,
+ mask: nil,
+ }
+ end
- def self.expanding_parameters
- parameters.keys # all of them are expandable
- end
+ def self.expanding_parameters
+ parameters.keys # all of them are expandable
+ end
- def self.params_with_units
- []
- end
+ def self.params_with_units
+ []
+ end
- def initialize(custom_colors)
- @custom_colors = custom_colors
- end
+ def validate_alpha(arg, _i)
+ raise 'alpha must respond to to_f' unless arg.respond_to? :to_f
+ arg.to_f
+ end
- def validate_alpha(arg, _i)
- raise 'alpha must respond to to_f' unless arg.respond_to? :to_f
- arg.to_f
- end
-
- def validate_mask(arg, _i)
- colorify(arg, @custom_colors)
- end
-
-
+ def validate_mask(arg, _i)
+ colorify(arg, @custom_colors)
end
+
end
end