[Add] Allow toolkit to block input if needed.

This commit is contained in:
Allanis 2013-02-27 23:19:40 +00:00
parent 8fcbca89cb
commit 521f3baa9f
3 changed files with 8 additions and 4 deletions

View File

@ -302,7 +302,8 @@ static void input_keyup(SDLKey key) {
void input_handle(SDL_Event* event) { void input_handle(SDL_Event* event) {
if(toolkit) if(toolkit)
// Toolkit is handled seperately. // Toolkit is handled seperately.
toolkit_input(event); if(toolkit_input(event))
return; // We don't process it if toolkit grabs it.
switch(event->type) { switch(event->type) {
case SDL_JOYAXISMOTION: case SDL_JOYAXISMOTION:

View File

@ -693,14 +693,17 @@ void toolkit_render(void) {
} }
void toolkit_input(SDL_Event* event) { // Toolkit input is handled here.
// If we return 1, the input isn't passed.
int toolkit_input(SDL_Event* event) {
switch(event->type) { switch(event->type) {
case SDL_MOUSEMOTION: case SDL_MOUSEMOTION:
case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONDOWN:
case SDL_MOUSEBUTTONUP: case SDL_MOUSEBUTTONUP:
toolkit_mouseEvent(event); toolkit_mouseEvent(event);
break; return 1; // Block input.
} }
return 0; // Don't block unput.
} }
// Input. // Input.

View File

@ -34,7 +34,7 @@ void window_destroyWidget(unsigned wid, const char* wgtname);
void toolkit_render(void); void toolkit_render(void);
// Input. // Input.
void toolkit_input(SDL_Event* event); int toolkit_input(SDL_Event* event);
// Init/Exit. // Init/Exit.
int toolkit_init(void); int toolkit_init(void);