Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Touch { }
- struct Image { }
- public final class Button {
- public enum State { case Enabled, Disabled, Pressed }
- public struct DynamicButtonConfiguration {
- let buttonWasPressed: (button: Button, touch: Touch) -> ()
- let imageForButtonState: (buttonState: State) -> (Image)
- }
- let configuration: DynamicButtonConfiguration
- private var currentImage: Image // TODO: add property observers to redraw
- required public init(configuration: DynamicButtonConfiguration) {
- self.configuration = configuration
- self.currentImage = configuration.imageForButtonState(buttonState: .Enabled)
- }
- private func hitTest(touch: Touch) -> () {
- // TODO: hit testing
- if true {
- configuration.buttonWasPressed(button: self, touch: touch)
- currentImage = configuration.imageForButtonState(buttonState: .Pressed)
- }
- }
- }
- let buttonConfiguration = Button.DynamicButtonConfiguration(
- buttonWasPressed: { (button, touch) -> () in
- return
- },
- imageForButtonState: { (state) -> (Image) in
- return Image()
- }
- )
- let myButton = Button(configuration: buttonConfiguration)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement