Class: CALayer

Inherits:
Object show all
Includes:
SugarCube::Frameable
Defined in:
lib/cocoa/sugarcube-ui/calayer.rb,
lib/ios/sugarcube-ui/frameable.rb,
lib/osx/sugarcube-ui/frameable.rb,
lib/cocoa/sugarcube-to_s/calayer.rb,
lib/cocoa/sugarcube-animations/calayer.rb

Instance Method Summary collapse

Methods included from SugarCube::Frameable

#height, #setHeight, #setWidth, #setX, #setY, #width, #x, #y

Instance Method Details

#<<(layer) ⇒ Object



3
4
5
6
# File 'lib/cocoa/sugarcube-ui/calayer.rb', line 3

def << (layer)
  self.addSublayer layer
  return self
end

#basic_animation(key_path, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/cocoa/sugarcube-animations/calayer.rb', line 3

def basic_animation(key_path, options={})
  animation = CAAnimation.basic(key_path, options)

  should_add = options.fetch(:add, true)
  if should_add
    if should_add.is_a?(NSString)
      name = should_add
    else
      name = key_path
    end

    self.addAnimation(animation, forKey: name)
  end

  if options.key?(:to)
    self.setValue(options[:to], forKeyPath: key_path)
  end

  return animation
end

#keyframe_animation(key_path, options = {}) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/cocoa/sugarcube-animations/calayer.rb', line 24

def keyframe_animation(key_path, options={})
  animation = CAAnimation.keyframe(key_path, options)

  should_add = options.fetch(:add, true)
  if should_add
    if should_add.is_a?(NSString)
      name = should_add
    else
      name = key_path
    end
    self.addAnimation(animation, forKey: name)
  end

  if options.key?(:values)
    self.setValue(options[:values].last, forKeyPath: key_path)
  end

  return animation
end

#sugarcube_to_s(options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/cocoa/sugarcube-to_s/calayer.rb', line 3

def sugarcube_to_s(options={})
  if options[:inner].is_a? Hash
    inner = ''
    options[:inner].each do |key, value|
      inner += ', ' if inner.length > 0
      inner += "#{key}: #{value.inspect}"
    end
  else
    inner = options[:inner]
  end

  "#{self.class.to_s}(##{self.object_id.to_s(16)}, [[#{frame.origin.x}, #{frame.origin.y}], [#{frame.size.width}, #{frame.size.height}]])"
end

#to_sObject



17
18
19
# File 'lib/cocoa/sugarcube-to_s/calayer.rb', line 17

def to_s
  sugarcube_to_s
end

#unshift(layer) ⇒ Object



8
9
10
11
# File 'lib/cocoa/sugarcube-ui/calayer.rb', line 8

def unshift(layer)
  self.insertSublayer(layer, atIndex:0)
  return self
end