update widgets, add copy paste buffer
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
// Widget state (global, managed by widget layer)
|
||||
|
||||
#define UI_WIDGET_MAX_DROPDOWN_ITEMS 32
|
||||
#define UI_WIDGET_MAX_TEXT_INPUTS 16
|
||||
|
||||
struct UI_WidgetState {
|
||||
// Text input focus
|
||||
@@ -20,6 +21,15 @@ struct UI_WidgetState {
|
||||
int32_t cursor_pos; // Cursor position in focused text input
|
||||
F32 cursor_blink; // Blink timer (seconds)
|
||||
|
||||
// Text selection (sel_start == sel_end means no selection)
|
||||
int32_t sel_start; // Selection anchor (where selection began)
|
||||
int32_t sel_end; // Selection extent (moves with cursor)
|
||||
|
||||
// Tab cycling: registered text input IDs in order of declaration
|
||||
uint32_t text_input_ids[UI_WIDGET_MAX_TEXT_INPUTS];
|
||||
int32_t text_input_count;
|
||||
B32 tab_pressed; // True on the frame Tab was pressed
|
||||
|
||||
// Dropdown
|
||||
uint32_t open_dropdown_id; // Clay element ID hash of the open dropdown (0 = none)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user