102 Patches: Detours to the Rescue
C reference for DttR maintainers and modders.
Loading...
Searching...
No Matches
gui_tabs.c
Go to the documentation of this file.
1#include "gui_internal.h"
2
6);
7
8typedef struct {
9 const char *label;
12
15 const char *id,
16 float input_width
17) {
18 return begin_settings_table(ctx, id, DTTR_CONFIG_UI_LABEL_W, input_width);
19}
20
21static const config_tab_spec CONFIG_TABS[] = {
22 {"General", draw_general_tab},
23 {"Graphics", draw_graphics_tab},
24 {"Audio", draw_audio_tab},
25 {"Gamepad", draw_gamepad_tab},
26#ifdef DTTR_MODS_ENABLED
27 {"Modding", draw_modding_tab},
28#endif
29};
30
32 if (!igBeginTabBar("dttr_config_tabs", ImGuiTabBarFlags_None)) {
33 return;
34 }
35
36 for (int i = 0; i < (int)SDL_arraysize(CONFIG_TABS); i++) {
37 const config_tab_spec *tab = &CONFIG_TABS[i];
38 if (!igBeginTabItem(tab->label, NULL, ImGuiTabItemFlags_None)) {
39 continue;
40 }
41
42 tab->draw(ctx, state);
43 igEndTabItem();
44 }
45
46 igEndTabBar();
47}
const DTTR_BackendState * state
void void * ctx
DTTR_Graphics_COM_DirectDrawSurface7 DWORD flags void NULL
bool begin_settings_table(const DTTR_ImGuiDialogContext *ctx, const char *id, float label_width, float input_width)
void draw_general_tab(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
void draw_audio_tab(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
void draw_gamepad_tab(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
#define DTTR_CONFIG_UI_LABEL_W
void draw_modding_tab(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
void draw_graphics_tab(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
static const config_tab_spec CONFIG_TABS[]
Definition gui_tabs.c:21
void draw_tabs(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
Definition gui_tabs.c:31
bool begin_tab_settings_table(const DTTR_ImGuiDialogContext *ctx, const char *id, float input_width)
Definition gui_tabs.c:13
void(* config_tab_draw_fn)(const DTTR_ImGuiDialogContext *ctx, config_ui_state *state)
Definition gui_tabs.c:3
config_tab_draw_fn draw
Definition gui_tabs.c:10
const char * label
Definition gui_tabs.c:9