ui/ui/toolkit.h

changeset 3
f154867f54dc
parent 2
fbdfaacc4182
child 5
83263002816f
equal deleted inserted replaced
2:fbdfaacc4182 3:f154867f54dc
67 #define UIMENU void* 67 #define UIMENU void*
68 #endif 68 #endif
69 69
70 #elif UI_WINUI 70 #elif UI_WINUI
71 71
72 #include <Windows.h>
73
74 #define UIEXPORT __declspec(dllexport) 72 #define UIEXPORT __declspec(dllexport)
75 73
76 #ifdef __cplusplus 74 #ifdef __cplusplus
77 75
78 #ifndef UI_WINUI_PCH 76 #ifndef UI_WINUI_PCH
168 /* end opaque types */ 166 /* end opaque types */
169 167
170 typedef struct UiTabbedPane UiTabbedPane; 168 typedef struct UiTabbedPane UiTabbedPane;
171 169
172 typedef enum UiTri UiTri; 170 typedef enum UiTri UiTri;
171 typedef enum UiLabelType UiLabelType;
173 172
174 enum UiMouseEventType { UI_PRESS = 0, UI_PRESS2 }; 173 enum UiMouseEventType { UI_PRESS = 0, UI_PRESS2 };
174
175 enum UiLabelType { UI_LABEL_DEFAULT, UI_LABEL_TEXT, UI_LABEL_ICON, UI_LABEL_TEXT_ICON };
175 176
176 177
177 178
178 typedef void(*ui_callback)(UiEvent*, void*); /* event, user data */ 179 typedef void(*ui_callback)(UiEvent*, void*); /* event, user data */
179 180
403 UIEXPORT UiDouble* ui_double_new(UiContext *ctx, char *name); 404 UIEXPORT UiDouble* ui_double_new(UiContext *ctx, char *name);
404 UIEXPORT UiString* ui_string_new(UiContext *ctx, char *name); 405 UIEXPORT UiString* ui_string_new(UiContext *ctx, char *name);
405 UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name); 406 UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name);
406 UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name); 407 UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name);
407 408
409 #define ui_get(v) _Generic(v, \
410 UiInteger*: ui_int_get, \
411 UiDouble*: ui_double_get, \
412 UiString*: ui_string_get, \
413 UiText*:ui_text_get) (v)
414
415 #define ui_set(v, n) _Generic(v, \
416 UiInteger*: ui_int_set, \
417 UiDouble*: ui_double_set, \
418 UiString*: ui_string_set, \
419 UiText*:ui_text_set) (v, n)
420
421 UIEXPORT void ui_int_set(UiInteger *i, int64_t value);
422 UIEXPORT int64_t ui_int_get(UiInteger *i);
423 UIEXPORT void ui_double_set(UiDouble *d, double value);
424 UIEXPORT double ui_double_get(UiDouble *d);
425 UIEXPORT void ui_string_set(UiString *s, const char *value);
426 UIEXPORT char* ui_string_get(UiString *s);
427 UIEXPORT void ui_text_set(UiText *s, const char* value);
428 UIEXPORT char* ui_text_get(UiText *s);
429
430
408 UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data); 431 UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data);
409 UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); 432 UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer);
410 UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); 433 UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data);
411 UIEXPORT void ui_notify(UiObserver *observer, void *data); 434 UIEXPORT void ui_notify(UiObserver *observer, void *data);
412 UIEXPORT void ui_notify_except(UiObserver *observer, UiObserver *exc, void *data); 435 UIEXPORT void ui_notify_except(UiObserver *observer, UiObserver *exc, void *data);

mercurial