void basic_handler::handle_event(const SDL_Event& event) { switch (event.type) { case SDL_KEYDOWN: case SDL_KEYUP: // If we're in a dialog we only want to handle items that are explicitly // handled by the executor. // If we're not in a dialog we can call the regular key event handler. if (!gui::in_dialog()) { key_event(event,exec_); } else if (exec_ != nullptr) { event_execute(event,exec_); } break; case SDL_JOYBUTTONDOWN: case SDL_JOYBUTTONUP: if (!gui::in_dialog()) { jbutton_event(event,exec_); } else if (exec_ != nullptr) { event_execute(event,exec_); } break; case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: if (!gui::in_dialog()) { mbutton_event(event,exec_); } else if (exec_ != nullptr) { event_execute(event,exec_); } break; } }
void basic_handler::handle_event(const SDL_Event& event) { //TODO this code path is never called? if (disp_ == NULL) { return; } switch (event.type) { case SDL_KEYDOWN: // If we're in a dialog we only want to handle items that are explicitly // handled by the executor. // If we're not in a dialog we can call the regular key event handler. if (!gui::in_dialog()) { key_event(*disp_, event.key,exec_); } else if (exec_ != NULL) { key_event_execute(*disp_, event.key,exec_); } break; case SDL_JOYBUTTONDOWN: if (!gui::in_dialog()) { jbutton_event(*disp_, event.jbutton,exec_); } else if (exec_ != NULL) { jbutton_event_execute(*disp_, event.jbutton,exec_); } break; case SDL_MOUSEBUTTONDOWN: if (!gui::in_dialog()) { mbutton_event(*disp_, event.button,exec_); } else if (exec_ != NULL) { mbutton_event_execute(*disp_, event.button,exec_); } break; } }