81 {
82
84
86
87 const View *box = (
View *) this->box;
88
89 switch (event->type) {
90 case SDL_EVENT_MOUSE_BUTTON_DOWN:
93 return true;
94 }
95 break;
96 case SDL_EVENT_MOUSE_BUTTON_UP:
99 self->
state &= ~ControlStateHighlighted;
100 if (this->delegate.didToggle) {
101 this->delegate.didToggle(this);
102 }
104 return true;
105 }
106 break;
107 case SDL_EVENT_KEY_DOWN:
108 switch (event->key.key) {
109 case SDLK_SPACE:
110 case SDLK_KP_SPACE:
111 case SDLK_RETURN:
112 case SDLK_KP_ENTER:
114 self->
state &= ~ControlStateHighlighted;
115 if (this->delegate.didToggle) {
116 this->delegate.didToggle(this);
117 }
119 return true;
120 }
121 }
122
124}
static bool captureEvent(Control *self, const SDL_Event *event)
@ ControlStateHighlighted
@ ViewEventChange
A Control's input value has changed.
static bool didReceiveEvent(const View *self, const SDL_Event *event)
static void emitViewEvent(View *self, ViewEvent code, ident data)
Controls are Views which capture and respond to events.
unsigned int state
The bit mask of ControlState.