Refactor menu_input_ctl

This commit is contained in:
twinaphex 2016-02-11 01:57:52 +01:00
parent b881908c91
commit db77e1e6ec
2 changed files with 23 additions and 19 deletions

View File

@ -207,101 +207,104 @@ bool menu_input_ctl(enum menu_input_ctl_state state, void *data)
menu_input->keyboard.label = menu_hash_to_str(MENU_VALUE_SEARCH); menu_input->keyboard.label = menu_hash_to_str(MENU_VALUE_SEARCH);
menu_input->keyboard.buffer = menu_input->keyboard.buffer =
input_keyboard_start_line(menu, menu_input_search_callback); input_keyboard_start_line(menu, menu_input_search_callback);
return true; break;
case MENU_INPUT_CTL_MOUSE_SCROLL_DOWN: case MENU_INPUT_CTL_MOUSE_SCROLL_DOWN:
{ {
bool *ptr = (bool*)data; bool *ptr = (bool*)data;
*ptr = menu_input->mouse.scrolldown; *ptr = menu_input->mouse.scrolldown;
} }
return true; break;
case MENU_INPUT_CTL_MOUSE_SCROLL_UP: case MENU_INPUT_CTL_MOUSE_SCROLL_UP:
{ {
bool *ptr = (bool*)data; bool *ptr = (bool*)data;
*ptr = menu_input->mouse.scrollup; *ptr = menu_input->mouse.scrollup;
} }
return true; break;
case MENU_INPUT_CTL_MOUSE_PTR: case MENU_INPUT_CTL_MOUSE_PTR:
{ {
unsigned *ptr = (unsigned*)data; unsigned *ptr = (unsigned*)data;
menu_input->mouse.ptr = *ptr; menu_input->mouse.ptr = *ptr;
} }
return true; break;
case MENU_INPUT_CTL_POINTER_PTR: case MENU_INPUT_CTL_POINTER_PTR:
{ {
unsigned *ptr = (unsigned*)data; unsigned *ptr = (unsigned*)data;
menu_input->pointer.ptr = *ptr; menu_input->pointer.ptr = *ptr;
} }
return true; break;
case MENU_INPUT_CTL_POINTER_ACCEL_READ: case MENU_INPUT_CTL_POINTER_ACCEL_READ:
{ {
float *ptr = (float*)data; float *ptr = (float*)data;
*ptr = menu_input->pointer.accel; *ptr = menu_input->pointer.accel;
} }
return true; break;
case MENU_INPUT_CTL_POINTER_ACCEL_WRITE: case MENU_INPUT_CTL_POINTER_ACCEL_WRITE:
{ {
float *ptr = (float*)data; float *ptr = (float*)data;
menu_input->pointer.accel = *ptr; menu_input->pointer.accel = *ptr;
} }
return true; break;
case MENU_INPUT_CTL_POINTER_DRAGGING: case MENU_INPUT_CTL_POINTER_DRAGGING:
{ {
bool *ptr = (bool*)data; bool *ptr = (bool*)data;
*ptr = menu_input->pointer.dragging; *ptr = menu_input->pointer.dragging;
} }
return true; break;
case MENU_INPUT_CTL_KEYBOARD_DISPLAY: case MENU_INPUT_CTL_KEYBOARD_DISPLAY:
{ {
bool *ptr = (bool*)data; bool *ptr = (bool*)data;
*ptr = menu_input->keyboard.display; *ptr = menu_input->keyboard.display;
} }
return true; break;
case MENU_INPUT_CTL_SET_KEYBOARD_DISPLAY: case MENU_INPUT_CTL_SET_KEYBOARD_DISPLAY:
{ {
bool *ptr = (bool*)data; bool *ptr = (bool*)data;
menu_input->keyboard.display = *ptr; menu_input->keyboard.display = *ptr;
} }
return true; break;
case MENU_INPUT_CTL_KEYBOARD_BUFF_PTR: case MENU_INPUT_CTL_KEYBOARD_BUFF_PTR:
{ {
const char **ptr = (const char**)data; const char **ptr = (const char**)data;
*ptr = *menu_input->keyboard.buffer; *ptr = *menu_input->keyboard.buffer;
} }
return true; break;
case MENU_INPUT_CTL_KEYBOARD_LABEL: case MENU_INPUT_CTL_KEYBOARD_LABEL:
{ {
const char **ptr = (const char**)data; const char **ptr = (const char**)data;
*ptr = menu_input->keyboard.label; *ptr = menu_input->keyboard.label;
} }
return true; break;
case MENU_INPUT_CTL_SET_KEYBOARD_LABEL: case MENU_INPUT_CTL_SET_KEYBOARD_LABEL:
{ {
char **ptr = (char**)data; char **ptr = (char**)data;
menu_input->keyboard.label = *ptr; menu_input->keyboard.label = *ptr;
} }
return true; break;
case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL: case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL:
menu_input->keyboard.label = NULL; menu_input->keyboard.label = NULL;
return true; break;
case MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING: case MENU_INPUT_CTL_KEYBOARD_LABEL_SETTING:
{ {
const char **ptr = (const char**)data; const char **ptr = (const char**)data;
*ptr = menu_input->keyboard.label_setting; *ptr = menu_input->keyboard.label_setting;
} }
return true; break;
case MENU_INPUT_CTL_SET_KEYBOARD_LABEL_SETTING: case MENU_INPUT_CTL_SET_KEYBOARD_LABEL_SETTING:
{ {
char **ptr = (char**)data; char **ptr = (char**)data;
strlcpy(menu_input->keyboard.label_setting, strlcpy(menu_input->keyboard.label_setting,
*ptr, sizeof(menu_input->keyboard.label_setting)); *ptr, sizeof(menu_input->keyboard.label_setting));
} }
return true; break;
case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL_SETTING: case MENU_INPUT_CTL_UNSET_KEYBOARD_LABEL_SETTING:
menu_input->keyboard.label_setting[0] = '\0'; menu_input->keyboard.label_setting[0] = '\0';
return true; break;
default:
case MENU_INPUT_CTL_NONE:
break;
} }
return false; return true;
} }
void menu_input_key_start_line(const char *label, void menu_input_key_start_line(const char *label,

View File

@ -70,7 +70,8 @@ enum menu_input_mouse_state
enum menu_input_ctl_state enum menu_input_ctl_state
{ {
MENU_INPUT_CTL_MOUSE_SCROLL_DOWN = 0, MENU_INPUT_CTL_NONE = 0,
MENU_INPUT_CTL_MOUSE_SCROLL_DOWN,
MENU_INPUT_CTL_MOUSE_SCROLL_UP, MENU_INPUT_CTL_MOUSE_SCROLL_UP,
MENU_INPUT_CTL_MOUSE_PTR, MENU_INPUT_CTL_MOUSE_PTR,
MENU_INPUT_CTL_POINTER_PTR, MENU_INPUT_CTL_POINTER_PTR,