ui/ui/toolkit.h

changeset 3
f154867f54dc
parent 2
fbdfaacc4182
child 5
83263002816f
--- a/ui/ui/toolkit.h	Sat Jan 27 17:50:19 2024 +0100
+++ b/ui/ui/toolkit.h	Sun Jan 28 16:31:34 2024 +0100
@@ -69,8 +69,6 @@
 
 #elif UI_WINUI
 
-#include <Windows.h>
-
 #define UIEXPORT __declspec(dllexport) 
 
 #ifdef __cplusplus
@@ -170,9 +168,12 @@
 typedef struct UiTabbedPane UiTabbedPane;
 
 typedef enum UiTri UiTri;
+typedef enum UiLabelType UiLabelType;
 
 enum UiMouseEventType { UI_PRESS = 0, UI_PRESS2 };
 
+enum UiLabelType { UI_LABEL_DEFAULT, UI_LABEL_TEXT, UI_LABEL_ICON, UI_LABEL_TEXT_ICON };
+
 
   
 typedef void(*ui_callback)(UiEvent*, void*); /* event, user data */
@@ -405,6 +406,28 @@
 UIEXPORT UiText* ui_text_new(UiContext *ctx, char *name);
 UIEXPORT UiRange* ui_range_new(UiContext *ctx, char *name);
 
+#define ui_get(v) _Generic(v, \
+    UiInteger*: ui_int_get, \
+    UiDouble*: ui_double_get, \
+    UiString*: ui_string_get, \
+    UiText*:ui_text_get) (v)
+
+#define ui_set(v, n) _Generic(v, \
+    UiInteger*: ui_int_set, \
+    UiDouble*: ui_double_set, \
+    UiString*: ui_string_set, \
+    UiText*:ui_text_set) (v, n)
+
+UIEXPORT void ui_int_set(UiInteger *i, int64_t value);
+UIEXPORT int64_t ui_int_get(UiInteger *i);
+UIEXPORT void ui_double_set(UiDouble *d, double value);
+UIEXPORT double ui_double_get(UiDouble *d);
+UIEXPORT void ui_string_set(UiString *s, const char *value);
+UIEXPORT char* ui_string_get(UiString *s);
+UIEXPORT void ui_text_set(UiText *s, const char* value);
+UIEXPORT char* ui_text_get(UiText *s);
+
+
 UIEXPORT UiObserver* ui_observer_new(ui_callback f, void *data);
 UIEXPORT UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer);
 UIEXPORT UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data);

mercurial