Class: Origami::Template::AxialGradient

Inherits:
Graphics::Pattern::Shading::Axial show all
Defined in:
lib/origami/template/patterns.rb

Constant Summary

Constants included from StandardObject

StandardObject::DEFAULT_ATTRIBUTES

Constants inherited from Dictionary

Dictionary::TOKENS

Constants included from Object

Object::TOKENS

Instance Attribute Summary

Attributes included from ObjectCache

#names_cache, #strings_cache, #xref_cache

Attributes included from Object

#file_offset, #generation, #no, #objstm_offset, #parent

Instance Method Summary collapse

Methods included from Graphics::Pattern::Shading::ShadingObject

included

Methods included from StandardObject

included, #pre_build, #version_required

Methods inherited from Dictionary

#[], #[]=, hint_type, #merge, parse, #to_h, #to_obfuscated_str, #to_s, #transform_values, #transform_values!

Methods included from Origami::TypeGuessing

#guess_type

Methods included from FieldAccessor

#method_missing, #respond_to_missing?

Methods included from CompoundObject

#copy, #delete, #include?, #update_values, #update_values!

Methods included from ObjectCache

#rebuild_caches

Methods included from Object

#cast_to, #copy, #document, #export, included, #indirect?, #indirect_parent, #logicalize, #logicalize!, #native_type, #numbered?, parse, #post_build, #pre_build, #reference, #set_document, #set_indirect, skip_until_next_obj, #solve, #to_o, #to_s, #type, typeof, #version_required, #xrefs

Constructor Details

#initialize(from, to, color0, color1, coeff = 1) ⇒ AxialGradient

Returns a new instance of AxialGradient.



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/origami/template/patterns.rb', line 26

def initialize(from, to, color0, color1, coeff = 1)
    super()

    set_indirect(true)

    x, y  = from
    tx, ty = to

    c0 = Graphics::Color.to_a(color0)
    c1 = Graphics::Color.to_a(color1)

    space =
    case c0.size
    when 1 then Graphics::Color::Space::DEVICE_GRAY
    when 3 then Graphics::Color::Space::DEVICE_RGB
    when 4 then Graphics::Color::Space::DEVICE_CMYK
    end

    f = Function::Exponential.new
    f.Domain = [ 0.0, 1.0 ]
    f.N = coeff
    f.C0, f.C1 = c0, c1

    self.ColorSpace = space
    self.Coords = [ x, y, tx, ty ]
    self.Function = f
    self.Extend = [ true, true ]
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Origami::FieldAccessor