Class: Idml::Render::ColorResolver
- Inherits:
-
Object
- Object
- Idml::Render::ColorResolver
- 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
-
#initialize(graphic_part) ⇒ ColorResolver
constructor
A new instance of ColorResolver.
-
#resolve(name) ⇒ Object
Resolve a color name like "Color/Red" to a hash: { model: :rgb, r:, g:, b: } (0.0–1.0) { model: :cmyk, c:, m:, y:, k: } (0.0–1.0) Returns nil for [None] or unknown colors.
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 |