Class: Idml::Render::ColorResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/idml/render/color_resolver.rb

Overview

Resolves IDML color references to concrete RGB or CMYK values. Looks up color names in the package's Resources/Graphic.xml part.

Constant Summary collapse

SPECIAL_NONE =
"Color/None"
SPECIAL_REGISTRATION =
"Color/[Registration]"

Instance Method Summary collapse

Constructor Details

#initialize(graphic_part) ⇒ ColorResolver

Returns a new instance of ColorResolver.



11
12
13
14
# File 'lib/idml/render/color_resolver.rb', line 11

def initialize(graphic_part)
  @graphic = graphic_part
  @cache = {}
end

Instance Method Details

#resolve(name) ⇒ Object

Resolve a color name like "Color/Red" to a hash:

{ model: :rgb, r:, g:, b: }     (0.0

Returns nil for [None] or unknown colors.



20
21
22
23
24
25
# File 'lib/idml/render/color_resolver.rb', line 20

def resolve(name)
  return nil if name.nil? || name == SPECIAL_NONE
  return registration_black if name == SPECIAL_REGISTRATION

  @cache[name] ||= lookup(name)
end