UI Widgets
Graphical User Interface Widgets.
Types
oc_ui_text_box_result
typedef struct oc_ui_text_box_result
{
bool changed;
bool accepted;
oc_str8 text;
oc_ui_box* box;
} oc_ui_text_box_result;
oc_ui_edit_move
typedef enum oc_ui_edit_move
{
OC_UI_EDIT_MOVE_NONE = 0,
OC_UI_EDIT_MOVE_CHAR = 1,
OC_UI_EDIT_MOVE_WORD = 2,
OC_UI_EDIT_MOVE_LINE = 3
} oc_ui_edit_move;
Enum Constants
OC_UI_EDIT_MOVE_NONE
OC_UI_EDIT_MOVE_CHAR
OC_UI_EDIT_MOVE_WORD
OC_UI_EDIT_MOVE_LINE
oc_ui_text_box_info
typedef struct oc_ui_text_box_info
{
oc_str8 text;
oc_str8 defaultText;
i32 cursor;
i32 mark;
oc_ui_edit_move selectionMode;
i32 wordSelectionInitialCursor;
i32 wordSelectionInitialMark;
i32 firstDisplayedChar;
f64 cursorBlinkStart;
} oc_ui_text_box_info;
oc_ui_select_popup_info
typedef struct oc_ui_select_popup_info
{
bool changed;
i32 selectedIndex;
i32 optionCount;
oc_str8* options;
oc_str8 placeholder;
} oc_ui_select_popup_info;
oc_ui_radio_group_info
typedef struct oc_ui_radio_group_info
{
bool changed;
i32 selectedIndex;
i32 optionCount;
oc_str8* options;
} oc_ui_radio_group_info;
Functions
oc_ui_label
oc_ui_sig oc_ui_label(char* key, char* label);
oc_ui_label_str8
oc_ui_sig oc_ui_label_str8(oc_str8 key, oc_str8 label);
oc_ui_button
oc_ui_sig oc_ui_button(char* key, char* text);
oc_ui_button_str8
oc_ui_sig oc_ui_button_str8(oc_str8 key, oc_str8 text);
oc_ui_checkbox
oc_ui_sig oc_ui_checkbox(char* key, bool* checked);
oc_ui_checkbox_str8
oc_ui_sig oc_ui_checkbox_str8(oc_str8 key, bool* checked);
oc_ui_slider
oc_ui_box* oc_ui_slider(char* name, f32* value);
oc_ui_slider_str8
oc_ui_box* oc_ui_slider_str8(oc_str8 name, f32* value);
oc_ui_tooltip
void oc_ui_tooltip(char* key, char* text);
oc_ui_tooltip_str8
void oc_ui_tooltip_str8(oc_str8 key, oc_str8 text);
oc_ui_menu_bar_begin
void oc_ui_menu_bar_begin(char* key);
oc_ui_menu_bar_begin_str8
void oc_ui_menu_bar_begin_str8(oc_str8 key);
oc_ui_menu_bar_end
void oc_ui_menu_bar_end();
oc_ui_menu_begin
void oc_ui_menu_begin(char* key, char* name);
oc_ui_menu_begin_str8
void oc_ui_menu_begin_str8(oc_str8 key, oc_str8 name);
oc_ui_menu_end
void oc_ui_menu_end();
oc_ui_menu_button
oc_ui_sig oc_ui_menu_button(char* key, char* text);
oc_ui_menu_button_str8
oc_ui_sig oc_ui_menu_button_str8(oc_str8 key, oc_str8 text);
oc_ui_text_box
oc_ui_text_box_result oc_ui_text_box(char* key, oc_arena* arena, oc_ui_text_box_info* info);
oc_ui_text_box_str8
oc_ui_text_box_result oc_ui_text_box_str8(oc_str8 key, oc_arena* arena, oc_ui_text_box_info* info);
oc_ui_select_popup
oc_ui_select_popup_info oc_ui_select_popup(char* key, oc_ui_select_popup_info* info);
oc_ui_select_popup_str8
oc_ui_select_popup_info oc_ui_select_popup_str8(oc_str8 key, oc_ui_select_popup_info* info);
oc_ui_radio_group
oc_ui_radio_group_info oc_ui_radio_group(char* key, oc_ui_radio_group_info* info);
oc_ui_radio_group_str8
oc_ui_radio_group_info oc_ui_radio_group_str8(oc_str8 key, oc_ui_radio_group_info* info);