Sha256: 795b6ee4aab1901d106fc107b71e311078c2c016eb066c106b28469305aa32db

Contents?: true

Size: 834 Bytes

Versions: 1

Compression:

Stored size: 834 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

1 entries across 1 versions & 1 rubygems

Version Path
squib-0.9.0 lib/squib/args/paint.rb