module Origami::ResourcesHolder
Public Instance Methods
add_colorspace(colorspace, name = nil)
click to toggle source
# File lib/origami/page.rb, line 121 def add_colorspace(colorspace, name = nil) add_resource(Resources::COLORSPACE, colorspace, name) end
add_extgstate(extgstate, name = nil)
click to toggle source
# File lib/origami/page.rb, line 117 def add_extgstate(extgstate, name = nil) add_resource(Resources::EXTGSTATE, extgstate, name) end
add_font(font, name = nil)
click to toggle source
# File lib/origami/page.rb, line 137 def add_font(font, name = nil) add_resource(Resources::FONT, font, name) end
add_pattern(pattern, name = nil)
click to toggle source
# File lib/origami/page.rb, line 125 def add_pattern(pattern, name = nil) add_resource(Resources::PATTERN, pattern, name) end
add_properties(properties, name = nil)
click to toggle source
# File lib/origami/page.rb, line 141 def add_properties(properties, name = nil) add_resource(Resources::PROPERTIES, properties, name) end
add_resource(type, rsrc, name = nil)
click to toggle source
# File lib/origami/page.rb, line 145 def add_resource(type, rsrc, name = nil) return existing if not name and existing = ls_resources(type).key(rsrc) name = new_id(type) unless name target = self.is_a?(Resources) ? self : (self.Resources ||= Resources.new) rsrc_dict = target.send(type) || (target[type] = Dictionary.new) rsrc_dict[name] = rsrc name end
add_shading(shading, name = nil)
click to toggle source
# File lib/origami/page.rb, line 129 def add_shading(shading, name = nil) add_resource(Resources::SHADING, shading, name) end
add_xobject(xobject, name = nil)
click to toggle source
# File lib/origami/page.rb, line 133 def add_xobject(xobject, name = nil) add_resource(Resources::XOBJECT, xobject, name) end
colorspaces()
click to toggle source
# File lib/origami/page.rb, line 169 def colorspaces; ls_resources(Resources::COLORSPACE) end
extgstates()
click to toggle source
# File lib/origami/page.rb, line 168 def extgstates; ls_resources(Resources::EXTGSTATE) end
fonts()
click to toggle source
# File lib/origami/page.rb, line 173 def fonts; ls_resources(Resources::FONT) end
ls_resources(type)
click to toggle source
# File lib/origami/page.rb, line 157 def ls_resources(type) target = self.is_a?(Resources) ? self : (self.Resources ||= Resources.new) rsrc = {} (target.send(type) || {}).each_pair do |name, obj| rsrc[name.value] = obj.solve end rsrc end
patterns()
click to toggle source
# File lib/origami/page.rb, line 170 def patterns; ls_resources(Resources::PATTERN) end
properties()
click to toggle source
# File lib/origami/page.rb, line 174 def properties; ls_resources(Resources::PROPERTIES) end
resources()
click to toggle source
# File lib/origami/page.rb, line 175 def resources; self.extgstates. merge self.colorspaces. merge self.patterns. merge self.shadings. merge self.xobjects. merge self.fonts. merge self.properties end
shadings()
click to toggle source
# File lib/origami/page.rb, line 171 def shadings; ls_resources(Resources::SHADING) end
xobjects()
click to toggle source
# File lib/origami/page.rb, line 172 def xobjects; ls_resources(Resources::XOBJECT) end
Private Instance Methods
new_colorspace_id()
click to toggle source
# File lib/origami/page.rb, line 210 def new_colorspace_id; new_id(Resources::COLORSPACE) end
new_extgstate_id()
click to toggle source
# File lib/origami/page.rb, line 209 def new_extgstate_id; new_id(Resources::EXTGSTATE) end
new_font_id()
click to toggle source
# File lib/origami/page.rb, line 214 def new_font_id; new_name(Resources::FONT) end
new_pattern_id()
click to toggle source
# File lib/origami/page.rb, line 211 def new_pattern_id; new_id(Resources::PATTERN) end
new_properties_id()
click to toggle source
# File lib/origami/page.rb, line 215 def new_properties_id; new_name(Resources::PROPERTIES) end
new_shading_id()
click to toggle source
# File lib/origami/page.rb, line 212 def new_shading_id; new_id(Resources::SHADING) end
new_xobject_id()
click to toggle source
# File lib/origami/page.rb, line 213 def new_xobject_id; new_id(Resources::XOBJECT) end