mirror of
https://github.com/BanjoRecomp/BanjoRecomp
synced 2026-05-23 06:34:20 -04:00
d26d18b373
* Added recompui::IconButton * Remove zelda themed input mapping visualization * update toggle * grayscale overlay colors * recompui::theme namespace + border constants * added ui_binding_button element * Initial support for multiple controllers. (#3) * Support for multiple controllers. * Fix default bindings. * Backwards compatibility with controls from previous version. * WIP code driven input mapping and player assignment * button press anims & temp reassignment state when opening assignment modal * set base opacity for disable state getting re-enabled * generic PlayerCard for both main Controls and assignment modal * wip ui_select recompui component * Add Input Profiles. (#4) * Add Input Profiles. * Add capability of setting custom profiles. * Remove leftover early return. * button sizes and annotation update * flex wrap and context root being assets * controls page multi vs single views * ability to reparent elements * ability to rotate elements * added functional caret to Select component * smaller edit profile button * select fixes and player profile assignment * pointer events property support and apply ptr events None to select arrow svg * init mp kb mappings to be unmapped * wire up selected profile's bindings * reimplement binding system in new menu * clear and reset input bindings implemented * remove deprecated controls panel * changes up to swapping to recompfrontend library * switch ui/input to be using recompfrontend library (unfinished) * register main font with recompui * Changes for recompui built in default scss * launcher + custom background * update modern runtime for recompui * Update N64ModernRuntime for recompui config changes * Added RecordSpinner icon * Added PlusKeyboard icon * remove sass and rml * single player + theme update * Delete Rmlui and lunasvg from being dependencies. * Update recomp frontend commit. * Remove lunasvg and rmlui submodules. * Update recomp frontend. * Move findfreetype. * Remove freetype windows binaries. * More updates. * Update frontend. * It builds. * Update frontend. * Update runtime and frontend. * Update frontend and RT64. * Get rid of SDL2 path from recomp frontend. * Update runtime and frontend and fix link order to fix Linux building * Update frontend and remove gyro and mouse sensitivity options * Update frontend to fix open menu button on controllers --------- Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
70 lines
1.3 KiB
C
70 lines
1.3 KiB
C
#ifndef __UI_FUNCS_H__
|
|
#define __UI_FUNCS_H__
|
|
|
|
// These three enums must be kept in sync with src/ui/elements/ui_types.h!
|
|
typedef enum {
|
|
UI_EVENT_NONE,
|
|
UI_EVENT_CLICK,
|
|
UI_EVENT_FOCUS,
|
|
UI_EVENT_HOVER,
|
|
UI_EVENT_ENABLE,
|
|
UI_EVENT_DRAG,
|
|
UI_EVENT_RESERVED1, // Would be UI_EVENT_TEXT but text events aren't usable in mods currently
|
|
UI_EVENT_UPDATE,
|
|
UI_EVENT_NAVIGATE,
|
|
UI_EVENT_MOUSE_BUTTON,
|
|
UI_EVENT_MENU_ACTION,
|
|
UI_EVENT_COUNT
|
|
} RecompuiEventType;
|
|
|
|
typedef enum {
|
|
UI_DRAG_NONE,
|
|
UI_DRAG_START,
|
|
UI_DRAG_MOVE,
|
|
UI_DRAG_END
|
|
} RecompuiDragPhase;
|
|
|
|
typedef enum {
|
|
UI_MENU_ACTION_NONE,
|
|
UI_MENU_ACTION_ACCEPT,
|
|
UI_MENU_ACTION_APPLY,
|
|
UI_MENU_ACTION_BACK,
|
|
UI_MENU_ACTION_TOGGLE,
|
|
UI_MENU_ACTION_TAB_LEFT,
|
|
UI_MENU_ACTION_TAB_RIGHT
|
|
} RecompuiMenuAction;
|
|
|
|
typedef struct {
|
|
RecompuiEventType type;
|
|
union {
|
|
struct {
|
|
float x;
|
|
float y;
|
|
} click;
|
|
|
|
struct {
|
|
bool active;
|
|
} focus;
|
|
|
|
struct {
|
|
bool active;
|
|
} hover;
|
|
|
|
struct {
|
|
bool active;
|
|
} enable;
|
|
|
|
struct {
|
|
float x;
|
|
float y;
|
|
RecompuiDragPhase phase;
|
|
} drag;
|
|
|
|
struct {
|
|
RecompuiMenuAction action;
|
|
} menu_action;
|
|
} data;
|
|
} RecompuiEventData;
|
|
|
|
#endif
|