1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #ifndef TOOLKIT_H
30 #define TOOLKIT_H
31
32 #include <inttypes.h>
33 #include "../ui/toolkit.h"
34 #include "../common/context.h"
35 #include "../common/object.h"
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 typedef struct UiEventData {
42 UiObject *obj;
43 ui_callback callback;
44 void *userdata;
45 int value;
46 } UiEventData;
47
48 typedef struct UiEventDataExt {
49 UiObject *obj;
50 ui_callback callback;
51 void *userdata;
52 ui_callback callback2;
53 void *userdata2;
54 int value0;
55 int value1;
56 int value2;
57 int value3;
58 void *customdata0;
59 void *customdata1;
60 void *customdata2;
61 void *customdata3;
62 } UiEventDataExt;
63
64 typedef struct UiVarEventData {
65 UiObject *obj;
66 UiVar *var;
67 UiObserver **observers;
68 ui_callback callback;
69 void *userdata;
70 int value;
71 } UiVarEventData;
72
73 typedef struct UiJob {
74 UiObject *obj;
75 ui_threadfunc job_func;
76 void *job_data;
77 ui_callback finish_callback;
78 void *finish_data;
79 } UiJob;
80
81 typedef enum UiOrientation UiOrientation;
82 enum UiOrientation {
UI_HORIZONTAL =
0,
UI_VERTICAL };
83
84 void ui_exit_mainloop();
85
86 Display* ui_motif_get_display(
void);
87
88 void ui_set_active_window(Widget w);
89 Widget ui_get_active_window();
90
91 void ui_secondary_event_loop(
int *loop);
92 void ui_window_dark_theme(Display *dp, Window window);
93
94 void ui_destroy_eventdata(Widget w, XtPointer *data, XtPointer d);
95
96 void ui_set_widget_groups(UiContext *ctx, Widget widget,
const int *groups) ;
97 void ui_set_widget_ngroups(UiContext *ctx, Widget widget,
const int *groups,
size_t ngroups);
98
99 #ifdef __cplusplus
100 }
101 #endif
102
103 #endif
104
105