mirror of
https://github.com/libretro/RetroArch
synced 2025-01-30 03:32:46 +00:00
consolidate menu_input.h declarations
This commit is contained in:
parent
32ed7ed1d7
commit
64672b4b63
@ -450,35 +450,6 @@ const void *hid_driver_get_data(void);
|
||||
void hid_driver_reset_data(void);
|
||||
#endif
|
||||
|
||||
/** Line complete callback.
|
||||
* Calls back after return is pressed with the completed line.
|
||||
* Line can be NULL.
|
||||
**/
|
||||
typedef void (*input_keyboard_line_complete_t)(void *userdata,
|
||||
const char *line);
|
||||
|
||||
typedef bool (*input_keyboard_press_t)(void *userdata, unsigned code);
|
||||
|
||||
struct input_keyboard_ctx_wait
|
||||
{
|
||||
void *userdata;
|
||||
input_keyboard_press_t cb;
|
||||
};
|
||||
|
||||
/**
|
||||
* input_keyboard_event:
|
||||
* @down : Keycode was pressed down?
|
||||
* @code : Keycode.
|
||||
* @character : Character inputted.
|
||||
* @mod : TODO/FIXME: ???
|
||||
*
|
||||
* Keyboard event utils. Called by drivers when keyboard events are fired.
|
||||
* This interfaces with the global driver struct and libretro callbacks.
|
||||
**/
|
||||
void input_keyboard_event(bool down, unsigned code, uint32_t character,
|
||||
uint16_t mod, unsigned device);
|
||||
|
||||
|
||||
/* Set input_device_info */
|
||||
void input_config_set_device_name(unsigned port, const char *name);
|
||||
void input_config_set_device_display_name(unsigned port, const char *name);
|
||||
@ -536,6 +507,26 @@ void input_config_reset(void);
|
||||
|
||||
void set_connection_listener(pad_connection_listener_t *listener);
|
||||
|
||||
typedef bool (*input_keyboard_press_t)(void *userdata, unsigned code);
|
||||
|
||||
struct input_keyboard_ctx_wait
|
||||
{
|
||||
void *userdata;
|
||||
input_keyboard_press_t cb;
|
||||
};
|
||||
|
||||
/**
|
||||
* Called by drivers when keyboard events are fired. Interfaces with the global
|
||||
* driver struct and libretro callbacks.
|
||||
*
|
||||
* @param down Was Keycode pressed down?
|
||||
* @param code Keycode.
|
||||
* @param character Character inputted.
|
||||
* @param mod TODO/FIXME/???
|
||||
**/
|
||||
void input_keyboard_event(bool down, unsigned code, uint32_t character,
|
||||
uint16_t mod, unsigned device);
|
||||
|
||||
extern input_device_driver_t dinput_joypad;
|
||||
extern input_device_driver_t linuxraw_joypad;
|
||||
extern input_device_driver_t parport_joypad;
|
||||
@ -591,31 +582,6 @@ extern hid_driver_t libusb_hid;
|
||||
extern hid_driver_t wiiusb_hid;
|
||||
#endif
|
||||
|
||||
typedef struct menu_input_ctx_line
|
||||
{
|
||||
const char *label;
|
||||
const char *label_setting;
|
||||
unsigned type;
|
||||
unsigned idx;
|
||||
input_keyboard_line_complete_t cb;
|
||||
} menu_input_ctx_line_t;
|
||||
|
||||
const char *menu_input_dialog_get_label_setting_buffer(void);
|
||||
|
||||
const char *menu_input_dialog_get_label_buffer(void);
|
||||
|
||||
const char *menu_input_dialog_get_buffer(void);
|
||||
|
||||
unsigned menu_input_dialog_get_kb_idx(void);
|
||||
|
||||
bool menu_input_dialog_start_search(void);
|
||||
|
||||
bool menu_input_dialog_get_display_kb(void);
|
||||
|
||||
bool menu_input_dialog_start(menu_input_ctx_line_t *line);
|
||||
|
||||
void menu_input_dialog_end(void);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
||||
|
@ -182,22 +182,74 @@ typedef struct menu_input_ctx_hitbox
|
||||
int32_t y2;
|
||||
} menu_input_ctx_hitbox_t;
|
||||
|
||||
/* Provides access to all pointer device parameters */
|
||||
void menu_input_get_pointer_state(menu_input_pointer_t *pointer);
|
||||
/**
|
||||
* Copy parameters from the global menu_input_state to a menu_input_pointer_t
|
||||
* in order to provide access to all pointer device parameters.
|
||||
*
|
||||
* @param copy_target menu_input_pointer_t struct where values will be copied
|
||||
**/
|
||||
void menu_input_get_pointer_state(menu_input_pointer_t *copy_target);
|
||||
|
||||
/* Getters/setters for menu item (index) currently
|
||||
* selected/highlighted (hovered over) by the pointer
|
||||
* device
|
||||
* Note: Each menu driver is responsible for setting this */
|
||||
/**
|
||||
* Get the menu item index currently selected or hovered over by the pointer.
|
||||
*
|
||||
* @return the selected menu index
|
||||
**/
|
||||
unsigned menu_input_get_pointer_selection(void);
|
||||
|
||||
/**
|
||||
* Set the menu item index that is currently selected or hovered over by the
|
||||
* pointer. Note: Each menu driver is responsible for setting this.
|
||||
*
|
||||
* @param selection the selected menu index
|
||||
**/
|
||||
void menu_input_set_pointer_selection(unsigned selection);
|
||||
|
||||
/* Allows pointer y acceleration to be overridden
|
||||
* (typically want to set acceleration to zero when
|
||||
* calling populate entries) */
|
||||
/**
|
||||
* Allows the pointer's y acceleration to be overridden. For example, menu
|
||||
* drivers typically set acceleration to zero when populating entries.
|
||||
*
|
||||
* @param y_accel
|
||||
**/
|
||||
void menu_input_set_pointer_y_accel(float y_accel);
|
||||
|
||||
/**
|
||||
* Line complete callback. Calls back after return is pressed with the
|
||||
* completed line. Line can be NULL. (Meaning that it might return a NULL
|
||||
* pointer instead of an empty string?)
|
||||
*
|
||||
* @param userdata
|
||||
* @param line a string representation of the completed line
|
||||
* (FIXME it might return a NULL pointer instead of an empty
|
||||
* string?)
|
||||
**/
|
||||
typedef void (*input_keyboard_line_complete_t)(void *userdata, const char *line);
|
||||
|
||||
typedef struct menu_input_ctx_line
|
||||
{
|
||||
const char *label;
|
||||
const char *label_setting;
|
||||
unsigned type;
|
||||
unsigned idx;
|
||||
input_keyboard_line_complete_t cb;
|
||||
} menu_input_ctx_line_t;
|
||||
|
||||
bool menu_input_dialog_start(menu_input_ctx_line_t *line);
|
||||
|
||||
const char *menu_input_dialog_get_label_setting_buffer(void);
|
||||
|
||||
const char *menu_input_dialog_get_label_buffer(void);
|
||||
|
||||
const char *menu_input_dialog_get_buffer(void);
|
||||
|
||||
unsigned menu_input_dialog_get_kb_idx(void);
|
||||
|
||||
bool menu_input_dialog_start_search(void);
|
||||
|
||||
bool menu_input_dialog_get_display_kb(void);
|
||||
|
||||
void menu_input_dialog_end(void);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "../../content.h"
|
||||
#include "../../retroarch.h"
|
||||
#include "../../version.h"
|
||||
#include "../../menu/menu_input.h"
|
||||
|
||||
struct nick_buf_s
|
||||
{
|
||||
|
@ -24507,18 +24507,18 @@ static unsigned menu_event(
|
||||
return ret;
|
||||
}
|
||||
|
||||
void menu_input_get_pointer_state(menu_input_pointer_t *pointer)
|
||||
void menu_input_get_pointer_state(menu_input_pointer_t *copy_target)
|
||||
{
|
||||
struct rarch_state *p_rarch = &rarch_st;
|
||||
menu_input_t *menu_input = &p_rarch->menu_input_state;
|
||||
|
||||
if (!pointer)
|
||||
if (!copy_target)
|
||||
return;
|
||||
|
||||
/* Copy parameters from global menu_input_state
|
||||
* (i.e. don't pass by reference)
|
||||
* This is a fast operation */
|
||||
memcpy(pointer, &menu_input->pointer, sizeof(menu_input_pointer_t));
|
||||
memcpy(copy_target, &menu_input->pointer, sizeof(menu_input_pointer_t));
|
||||
}
|
||||
|
||||
unsigned menu_input_get_pointer_selection(void)
|
||||
|
Loading…
x
Reference in New Issue
Block a user