Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. struct Touch { }
  2. struct Image { }
  3.  
  4. public final class Button {
  5. public enum State { case Enabled, Disabled, Pressed }
  6. public struct DynamicButtonConfiguration {
  7. let buttonWasPressed: (button: Button, touch: Touch) -> ()
  8. let imageForButtonState: (buttonState: State) -> (Image)
  9. }
  10.  
  11. let configuration: DynamicButtonConfiguration
  12. private var currentImage: Image // TODO: add property observers to redraw
  13. required public init(configuration: DynamicButtonConfiguration) {
  14. self.configuration = configuration
  15. self.currentImage = configuration.imageForButtonState(buttonState: .Enabled)
  16. }
  17.  
  18. private func hitTest(touch: Touch) -> () {
  19. // TODO: hit testing
  20. if true {
  21. configuration.buttonWasPressed(button: self, touch: touch)
  22. currentImage = configuration.imageForButtonState(buttonState: .Pressed)
  23. }
  24. }
  25. }
  26.  
  27. let buttonConfiguration = Button.DynamicButtonConfiguration(
  28. buttonWasPressed: { (button, touch) -> () in
  29. return
  30. },
  31. imageForButtonState: { (state) -> (Image) in
  32. return Image()
  33. }
  34. )
  35.  
  36. let myButton = Button(configuration: buttonConfiguration)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement