Class: PSD::Node
- Inherits:
-
Object
- Object
- PSD::Node
- Includes:
- Ancestry, BuildPreview, Search
- Defined in:
- lib/psd/node.rb,
lib/psd/node_root.rb,
lib/psd/node_group.rb,
lib/psd/node_layer.rb,
lib/psd/nodes/search.rb,
lib/psd/nodes/ancestry.rb,
lib/psd/nodes/parse_layers.rb,
lib/psd/nodes/build_preview.rb,
lib/psd/nodes/lock_to_origin.rb
Defined Under Namespace
Modules: Ancestry, BuildPreview, LockToOrigin, ParseLayers, Search Classes: Group, Layer, Root
Constant Summary collapse
- PROPERTIES =
Default properties that all nodes contain
[:name, :left, :right, :top, :bottom, :height, :width]
Instance Attribute Summary collapse
-
#children ⇒ Object
Returns the value of attribute children.
-
#force_visible ⇒ Object
Returns the value of attribute force_visible.
-
#layer ⇒ Object
Returns the value of attribute layer.
-
#parent ⇒ Object
Returns the value of attribute parent.
Instance Method Summary collapse
- #document_dimensions ⇒ Object
- #group? ⇒ Boolean
- #hidden? ⇒ Boolean
-
#initialize(layers = []) ⇒ Node
constructor
A new instance of Node.
- #layer? ⇒ Boolean
- #psd ⇒ Object
- #to_hash ⇒ Object
- #visible? ⇒ Boolean
Methods included from BuildPreview
#build_png, #orig_to_png, #to_png
Methods included from Image::Export::PNG
#mask_to_png, #save_as_png, #to_png, #to_png_with_mask
Methods included from Search
#children_at_path, #filter_by_comp
Methods included from Ancestry
#ancestors, #childless?, #depth, #descendants, #has_children?, #has_siblings?, #method_missing, #next_sibling, #only_child?, #path, #prev_sibling, #root, #root?, #siblings, #subtree
Constructor Details
#initialize(layers = []) ⇒ Node
Returns a new instance of Node.
17 18 19 20 21 22 23 24 25 |
# File 'lib/psd/node.rb', line 17 def initialize(layers=[]) @children = [] layers.each do |layer| layer.parent = self @children << layer end @force_visible = false end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class PSD::Node::Ancestry
Instance Attribute Details
#children ⇒ Object
Returns the value of attribute children.
15 16 17 |
# File 'lib/psd/node.rb', line 15 def children @children end |
#force_visible ⇒ Object
Returns the value of attribute force_visible.
15 16 17 |
# File 'lib/psd/node.rb', line 15 def force_visible @force_visible end |
#layer ⇒ Object
Returns the value of attribute layer.
15 16 17 |
# File 'lib/psd/node.rb', line 15 def layer @layer end |
#parent ⇒ Object
Returns the value of attribute parent.
15 16 17 |
# File 'lib/psd/node.rb', line 15 def parent @parent end |
Instance Method Details
#document_dimensions ⇒ Object
62 63 64 |
# File 'lib/psd/node.rb', line 62 def document_dimensions @parent.document_dimensions end |
#group? ⇒ Boolean
43 44 45 |
# File 'lib/psd/node.rb', line 43 def group? is_a?(PSD::Node::Group) || is_a?(PSD::Node::Root) end |
#hidden? ⇒ Boolean
27 28 29 |
# File 'lib/psd/node.rb', line 27 def hidden? !visible? end |
#psd ⇒ Object
35 36 37 |
# File 'lib/psd/node.rb', line 35 def psd parent.psd end |
#to_hash ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/psd/node.rb', line 47 def to_hash hash = { type: nil, visible: visible?, opacity: @layer.opacity / 255.0, blending_mode: @layer.blending_mode } PROPERTIES.each do |p| hash[p] = self.send(p) end hash end |
#visible? ⇒ Boolean
31 32 33 |
# File 'lib/psd/node.rb', line 31 def visible? force_visible || @layer.visible? end |