diff -r 29d98cff4f56 -r 853685152c1d ui/ui/toolkit.h --- a/ui/ui/toolkit.h Sat Nov 11 12:22:16 2017 +0100 +++ b/ui/ui/toolkit.h Sun Nov 12 12:03:50 2017 +0100 @@ -94,6 +94,7 @@ typedef struct UiObserver UiObserver; typedef struct UiInteger UiInteger; +typedef struct UiDouble UiDouble; typedef struct UiString UiString; typedef struct UiText UiText; typedef struct UiList UiList; @@ -195,7 +196,16 @@ void (*set)(UiInteger*, int64_t); void *obj; - int64_t value; + int64_t value; + UiObserver *observers; +}; + +struct UiDouble { + double (*get)(UiDouble*); + void (*set)(UiDouble*, double); + void *obj; + + double value; UiObserver *observers; }; @@ -308,8 +318,10 @@ // types UiInteger* ui_int_new(UiContext *ctx, char *name); +UiDouble* ui_double_new(UiContext *ctx, char *name); UiString* ui_string_new(UiContext *ctx, char *name); UiText* ui_text_new(UiContext *ctx, char *name); +UiRange* ui_range_new(UiContext *ctx, char *name); UiObserver* ui_observer_new(ui_callback f, void *data); UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer);