Sha256: 43ff951881d2d48007c82555c97707a093a3153f744fe7ad4ad699f6830a4dec

Contents?: true

Size: 791 Bytes

Versions: 2

Compression:

Stored size: 791 Bytes

Contents

require 'cairo'
require 'squib/args/arg_loader'
require 'squib/args/color_validator'

module Squib
  # @api private
  module Args
    class Paint
      include ArgLoader
      include ColorValidator

      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.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_mask(arg, _i)
        colorify(arg, @custom_colors)
      end


    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
squib-0.8.0 lib/squib/args/paint.rb
squib-0.7.0 lib/squib/args/paint.rb