Class: ShearingController

Inherits:
ShowNextController show all
Defined in:
app/shearing_controller.rb

Instance Method Summary collapse

Methods inherited from ShowNextController

#init, #show_next

Instance Method Details

#animate(&block) ⇒ Object



32
33
34
35
36
37
38
# File 'app/shearing_controller.rb', line 32

def animate(&block)
  UIView.animateWithDuration(0.3,
    delay:0,
    options:UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionBeginFromCurrentState,
    animations:block,
    completion:nil)
end

#next_controllerObject



73
74
75
# File 'app/shearing_controller.rb', line 73

def next_controller
  PerspectiveController.new
end

#transform_blueObject



62
63
64
65
66
67
68
69
70
71
# File 'app/shearing_controller.rb', line 62

def transform_blue
  animate do
    if @restore[:blue]
      @blue.transform = CGAffineTransform.identity
    else
      @blue.transform = CGAffineTransform.shear(0.5, 0.5)
    end
    @restore[:blue] = ! @restore[:blue]
  end
end

#transform_greenObject



51
52
53
54
55
56
57
58
59
60
# File 'app/shearing_controller.rb', line 51

def transform_green
  animate do
    if @restore[:green]
      @green.transform = CGAffineTransform.identity
    else
      @green.transform = CGAffineTransform.shear(0, 0.5)
    end
    @restore[:green] = ! @restore[:green]
  end
end

#transform_redObject



40
41
42
43
44
45
46
47
48
49
# File 'app/shearing_controller.rb', line 40

def transform_red
  animate do
    if @restore[:red]
      @red.transform = CGAffineTransform.identity
    else
      @red.transform = CGAffineTransform.shear(0.5, 0)
    end
    @restore[:red] = ! @restore[:red]
  end
end

#viewDidLoadObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/shearing_controller.rb', line 3

def viewDidLoad
  self.title = 'Shearing'

  @restore = {
    red: false, green: false, blue: false,
  }
  red = UIButton.buttonWithType(UIButtonTypeCustom)
  red.setTitle('0.5, 0', forState: UIControlStateNormal)
  red.backgroundColor = UIColor.redColor
  red.frame = [[80, 16], [160, 100]]
  red.addTarget(self, action: :transform_red, forControlEvents:UIControlEventTouchUpInside)

  green = UIButton.buttonWithType(UIButtonTypeCustom)
  green.setTitle('0, 0.5', forState: UIControlStateNormal)
  green.backgroundColor = UIColor.greenColor
  green.frame = red.frame.below(30)
  green.addTarget(self, action: :transform_green, forControlEvents:UIControlEventTouchUpInside)

  blue = UIButton.buttonWithType(UIButtonTypeCustom)
  blue.setTitle('0.5, 0.5', forState: UIControlStateNormal)
  blue.backgroundColor = UIColor.blueColor
  blue.frame = green.frame.below(30)
  blue.addTarget(self, action: :transform_blue, forControlEvents:UIControlEventTouchUpInside)

  self.view.addSubview(@red = red)
  self.view.addSubview(@green = green)
  self.view.addSubview(@blue = blue)
end