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



24
25
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
# File 'lib/origami/template/patterns.rb', line 24

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