Sha256: efb920c17c81a6406aa788ec36399de1d5bc7f98d27dabb74dd0c318b5bada3b

Contents?: true

Size: 832 Bytes

Versions: 14

Compression:

Stored size: 832 Bytes

Contents

require 'cairo'
require_relative 'arg_loader'
require_relative '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

14 entries across 14 versions & 1 rubygems

Version Path
squib-0.15.3 lib/squib/args/paint.rb
squib-0.15.0 lib/squib/args/paint.rb
squib-0.14.3.pre1 lib/squib/args/paint.rb
squib-0.14.1 lib/squib/args/paint.rb
squib-0.14.0 lib/squib/args/paint.rb
squib-0.14.beta1 lib/squib/args/paint.rb
squib-0.13.4 lib/squib/args/paint.rb
squib-0.13.3 lib/squib/args/paint.rb
squib-0.13.2 lib/squib/args/paint.rb
squib-0.13.1 lib/squib/args/paint.rb
squib-0.13.0 lib/squib/args/paint.rb
squib-0.12.0 lib/squib/args/paint.rb
squib-0.11.0 lib/squib/args/paint.rb
squib-0.10.0 lib/squib/args/paint.rb