Module: PSD::Node::Locking

Included in:
Base
Defined in:
lib/psd/nodes/locking.rb

Overview

Locking is inherited by descendants, but Photoshop doesn’t reflect this directly in the file, so we have to recursively traverse the ancestry tree to make sure an ancestor isn’t locked.

Instance Method Summary collapse

Instance Method Details

#all_locked?Boolean



7
8
9
10
11
# File 'lib/psd/nodes/locking.rb', line 7

def all_locked?
  return true if layer.all_locked?
  return false if parent.root?
  return parent.all_locked?
end

#any_locked?Boolean



13
14
15
# File 'lib/psd/nodes/locking.rb', line 13

def any_locked?
  position_locked? || composite_locked? || transparency_locked?
end

#composite_locked?Boolean



23
24
25
26
27
# File 'lib/psd/nodes/locking.rb', line 23

def composite_locked?
  return true if layer.composite_locked?
  return false if parent.root?
  return parent.composite_locked?
end

#position_locked?Boolean



17
18
19
20
21
# File 'lib/psd/nodes/locking.rb', line 17

def position_locked?
  return true if layer.position_locked?
  return false if parent.root?
  return parent.position_locked?
end

#transparency_locked?Boolean



29
30
31
32
33
# File 'lib/psd/nodes/locking.rb', line 29

def transparency_locked?
  return true if layer.transparency_locked?
  return false if parent.root?
  return parent.transparency_locked?
end