Mercurial > repos > blastem
comparison nuklear_ui/nuklear_sdl_gles2.h @ 1862:e07fc3d473b2
Basic UI navigation with controller
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 08 May 2019 23:44:40 -0700 |
parents | 56a1171e29b9 |
children | 579fe3f6fe76 |
comparison
equal
deleted
inserted
replaced
1861:fc05f49075c2 | 1862:e07fc3d473b2 |
---|---|
412 if (state[SDL_SCANCODE_LCTRL]) | 412 if (state[SDL_SCANCODE_LCTRL]) |
413 nk_input_key(ctx, NK_KEY_TEXT_WORD_RIGHT, down); | 413 nk_input_key(ctx, NK_KEY_TEXT_WORD_RIGHT, down); |
414 else nk_input_key(ctx, NK_KEY_RIGHT, down); | 414 else nk_input_key(ctx, NK_KEY_RIGHT, down); |
415 } else return 0; | 415 } else return 0; |
416 return 1; | 416 return 1; |
417 } else if (evt->type == SDL_CONTROLLERBUTTONDOWN || evt->type == SDL_CONTROLLERBUTTONUP) { | |
418 int down = evt->type == SDL_CONTROLLERBUTTONDOWN; | |
419 if (evt->cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_UP) { | |
420 nk_input_key(ctx, NK_KEY_UP, down); | |
421 } else if (evt->cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN) { | |
422 nk_input_key(ctx, NK_KEY_DOWN, down); | |
423 } else if (evt->cbutton.button == SDL_CONTROLLER_BUTTON_A || evt->cbutton.button == SDL_CONTROLLER_BUTTON_START) { | |
424 nk_input_key(ctx, NK_KEY_ENTER, down); | |
425 } | |
426 } else if (evt->type == SDL_CONTROLLERAXISMOTION) { | |
427 if (evt->caxis.axis == SDL_CONTROLLER_AXIS_LEFTY || evt->caxis.axis == SDL_CONTROLLER_AXIS_RIGHTY) { | |
428 int down = abs(evt->caxis.value) > 2000; | |
429 if (evt->caxis.value >= 0) { | |
430 if (ctx->input.keyboard.keys[NK_KEY_UP].down) { | |
431 nk_input_key(ctx, NK_KEY_UP, 0); | |
432 } | |
433 nk_input_key(ctx, NK_KEY_DOWN, down); | |
434 } else { | |
435 if (ctx->input.keyboard.keys[NK_KEY_DOWN].down) { | |
436 nk_input_key(ctx, NK_KEY_DOWN, 0); | |
437 } | |
438 nk_input_key(ctx, NK_KEY_UP, down); | |
439 } | |
440 } | |
417 } else if (evt->type == SDL_MOUSEBUTTONDOWN || evt->type == SDL_MOUSEBUTTONUP) { | 441 } else if (evt->type == SDL_MOUSEBUTTONDOWN || evt->type == SDL_MOUSEBUTTONUP) { |
418 /* mouse button */ | 442 /* mouse button */ |
419 int down = evt->type == SDL_MOUSEBUTTONDOWN; | 443 int down = evt->type == SDL_MOUSEBUTTONDOWN; |
420 const int x = evt->button.x, y = evt->button.y; | 444 const int x = evt->button.x, y = evt->button.y; |
421 if (evt->button.button == SDL_BUTTON_LEFT) { | 445 if (evt->button.button == SDL_BUTTON_LEFT) { |