Module: Origami::ResourcesHolder
- Included in:
- Graphics::FormXObject, Graphics::Pattern::Tiling, Page, Resources
- Defined in:
- lib/origami/page.rb
Instance Method Summary collapse
- #add_colorspace(colorspace, name = nil) ⇒ Object
- #add_extgstate(extgstate, name = nil) ⇒ Object
- #add_font(font, name = nil) ⇒ Object
- #add_pattern(pattern, name = nil) ⇒ Object
- #add_properties(properties, name = nil) ⇒ Object
- #add_resource(type, rsrc, name = nil) ⇒ Object
- #add_shading(shading, name = nil) ⇒ Object
- #add_xobject(xobject, name = nil) ⇒ Object
- #colorspaces ⇒ Object
- #extgstates ⇒ Object
- #fonts ⇒ Object
- #ls_resources(type) ⇒ Object
- #patterns ⇒ Object
- #properties ⇒ Object
- #resources ⇒ Object
- #shadings ⇒ Object
- #xobjects ⇒ Object
Instance Method Details
#add_colorspace(colorspace, name = nil) ⇒ Object
121 122 123 |
# 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) ⇒ Object
117 118 119 |
# 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) ⇒ Object
137 138 139 |
# 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) ⇒ Object
125 126 127 |
# 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) ⇒ Object
141 142 143 |
# 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) ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 |
# 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) ⇒ Object
129 130 131 |
# 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) ⇒ Object
133 134 135 |
# File 'lib/origami/page.rb', line 133 def add_xobject(xobject, name = nil) add_resource(Resources::XOBJECT, xobject, name) end |
#colorspaces ⇒ Object
169 |
# File 'lib/origami/page.rb', line 169 def colorspaces; ls_resources(Resources::COLORSPACE) end |
#extgstates ⇒ Object
168 |
# File 'lib/origami/page.rb', line 168 def extgstates; ls_resources(Resources::EXTGSTATE) end |
#fonts ⇒ Object
173 |
# File 'lib/origami/page.rb', line 173 def fonts; ls_resources(Resources::FONT) end |
#ls_resources(type) ⇒ Object
157 158 159 160 161 162 163 164 165 166 |
# 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 ⇒ Object
170 |
# File 'lib/origami/page.rb', line 170 def patterns; ls_resources(Resources::PATTERN) end |
#properties ⇒ Object
174 |
# File 'lib/origami/page.rb', line 174 def properties; ls_resources(Resources::PROPERTIES) end |
#resources ⇒ Object
175 176 177 178 179 180 181 182 183 |
# 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 |