/* handle the event on the button * Return: 1 - if the button was pressed (With Enter) */ int menu_event_button (_menuitem *mi, SDL_Event *event) { switch (event->type) { case (SDL_KEYDOWN): /* key was pressed */ if (event->key.keysym.sym == SDLK_LEFT || event->key.keysym.sym == SDLK_UP) menu_focus_prev ((_menu *)mi->menu); else if (event->key.keysym.sym == SDLK_RIGHT || event->key.keysym.sym == SDLK_DOWN) menu_focus_next ((_menu *)mi->menu); else if (event->key.keysym.sym == SDLK_RETURN || event->key.keysym.sym == SDLK_LCTRL || event->key.keysym.sym == SDLK_RCTRL) return 1; break; } return 0; };
/* handle the event on the button * Return: 1 - if the button was pressed (With Enter) */ int menu_event_bool (_menuitem *mi, SDL_Event *event) { switch (event->type) { case (SDL_KEYDOWN): /* key was pressed */ if (event->key.keysym.sym == SDLK_LEFT || event->key.keysym.sym == SDLK_UP) menu_focus_prev ((_menu *) mi->menu); else if (event->key.keysym.sym == SDLK_RIGHT || event->key.keysym.sym == SDLK_DOWN) menu_focus_next ((_menu *) mi->menu); else if (event->key.keysym.sym == SDLK_RETURN || event->key.keysym.sym == SDLK_LCTRL || event->key.keysym.sym == SDLK_RCTRL) { *(int *)mi->ptrdata = !(*(int *)mi->ptrdata); menu_draw_bool (mi); } break; } return 0; };