mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-21 09:21:08 +00:00
Allow using the left/right keys to select button in a selection box. (Selection
boxes are used, for instance, when asking the player to verify that he wants to save the game to a specific slot.) svn-id: r26168
This commit is contained in:
parent
56143c4c73
commit
d378b78b6a
@ -310,6 +310,7 @@ int AgiEngine::messageBox(const char *s) {
|
|||||||
* @param b NULL-terminated list of button labels
|
* @param b NULL-terminated list of button labels
|
||||||
*/
|
*/
|
||||||
int AgiEngine::selectionBox(const char *m, const char **b) {
|
int AgiEngine::selectionBox(const char *m, const char **b) {
|
||||||
|
int numButtons = 0;
|
||||||
int x, y, i, s;
|
int x, y, i, s;
|
||||||
int key, active = 0;
|
int key, active = 0;
|
||||||
int rc = -1;
|
int rc = -1;
|
||||||
@ -325,6 +326,7 @@ int AgiEngine::selectionBox(const char *m, const char **b) {
|
|||||||
|
|
||||||
/* Automatically position buttons */
|
/* Automatically position buttons */
|
||||||
for (i = 0; b[i]; i++) {
|
for (i = 0; b[i]; i++) {
|
||||||
|
numButtons++;
|
||||||
s -= CHAR_COLS * strlen(b[i]);
|
s -= CHAR_COLS * strlen(b[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -362,6 +364,16 @@ int AgiEngine::selectionBox(const char *m, const char **b) {
|
|||||||
case KEY_ESCAPE:
|
case KEY_ESCAPE:
|
||||||
rc = -1;
|
rc = -1;
|
||||||
goto getout;
|
goto getout;
|
||||||
|
case KEY_RIGHT:
|
||||||
|
active++;
|
||||||
|
if (active >= numButtons)
|
||||||
|
active = 0;
|
||||||
|
break;
|
||||||
|
case KEY_LEFT:
|
||||||
|
active--;
|
||||||
|
if (active < 0)
|
||||||
|
active = numButtons - 1;
|
||||||
|
break;
|
||||||
case BUTTON_LEFT:
|
case BUTTON_LEFT:
|
||||||
for (i = 0; b[i]; i++) {
|
for (i = 0; b[i]; i++) {
|
||||||
if (_gfx->testButton(bx[i], by[i], b[i])) {
|
if (_gfx->testButton(bx[i], by[i], b[i])) {
|
||||||
|
Loading…
Reference in New Issue
Block a user