92 typedef struct UiEvent UiEvent; |
92 typedef struct UiEvent UiEvent; |
93 typedef struct UiMouseEvent UiMouseEvent; |
93 typedef struct UiMouseEvent UiMouseEvent; |
94 typedef struct UiObserver UiObserver; |
94 typedef struct UiObserver UiObserver; |
95 |
95 |
96 typedef struct UiInteger UiInteger; |
96 typedef struct UiInteger UiInteger; |
|
97 typedef struct UiDouble UiDouble; |
97 typedef struct UiString UiString; |
98 typedef struct UiString UiString; |
98 typedef struct UiText UiText; |
99 typedef struct UiText UiText; |
99 typedef struct UiList UiList; |
100 typedef struct UiList UiList; |
100 typedef struct UiRange UiRange; |
101 typedef struct UiRange UiRange; |
101 |
102 |
193 struct UiInteger { |
194 struct UiInteger { |
194 int64_t (*get)(UiInteger*); |
195 int64_t (*get)(UiInteger*); |
195 void (*set)(UiInteger*, int64_t); |
196 void (*set)(UiInteger*, int64_t); |
196 void *obj; |
197 void *obj; |
197 |
198 |
198 int64_t value; |
199 int64_t value; |
|
200 UiObserver *observers; |
|
201 }; |
|
202 |
|
203 struct UiDouble { |
|
204 double (*get)(UiDouble*); |
|
205 void (*set)(UiDouble*, double); |
|
206 void *obj; |
|
207 |
|
208 double value; |
199 UiObserver *observers; |
209 UiObserver *observers; |
200 }; |
210 }; |
201 |
211 |
202 struct UiString { |
212 struct UiString { |
203 char* (*get)(UiString*); |
213 char* (*get)(UiString*); |
306 void* ui_realloc(UiContext *ctx, void *ptr, size_t size); |
316 void* ui_realloc(UiContext *ctx, void *ptr, size_t size); |
307 |
317 |
308 // types |
318 // types |
309 |
319 |
310 UiInteger* ui_int_new(UiContext *ctx, char *name); |
320 UiInteger* ui_int_new(UiContext *ctx, char *name); |
|
321 UiDouble* ui_double_new(UiContext *ctx, char *name); |
311 UiString* ui_string_new(UiContext *ctx, char *name); |
322 UiString* ui_string_new(UiContext *ctx, char *name); |
312 UiText* ui_text_new(UiContext *ctx, char *name); |
323 UiText* ui_text_new(UiContext *ctx, char *name); |
|
324 UiRange* ui_range_new(UiContext *ctx, char *name); |
313 |
325 |
314 UiObserver* ui_observer_new(ui_callback f, void *data); |
326 UiObserver* ui_observer_new(ui_callback f, void *data); |
315 UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); |
327 UiObserver* ui_obsvlist_add(UiObserver *list, UiObserver *observer); |
316 UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); |
328 UiObserver* ui_add_observer(UiObserver *list, ui_callback f, void *data); |
317 void ui_notify(UiObserver *observer, void *data); |
329 void ui_notify(UiObserver *observer, void *data); |