diff -r eb5269000bc8 -r eeb50c534497 ui/ui/toolkit.h --- a/ui/ui/toolkit.h Sun Dec 08 11:20:41 2013 +0000 +++ b/ui/ui/toolkit.h Fri Mar 21 13:20:53 2014 +0100 @@ -70,9 +70,24 @@ typedef void(*ui_callback)(UiEvent*, void*); // event, user data struct UiObject { + /* + * native widget + */ UIWIDGET widget; + + /* + * window context + */ UiContext *ctx; + + /* + * user window data + */ void *window; + + /* + * current document + */ void *document; }; @@ -106,7 +121,10 @@ void ui_main(); void ui_show(UiObject *obj); -void* ui_document_create(UiObject *obj, size_t size); +void ui_set_document(UiObject *obj, void *document); +void ui_detach_document(UiObject *obj, void *document); + +void* ui_document_new(size_t size); void ui_document_destroy(void *doc); void* ui_document_malloc(void *doc, size_t size); @@ -114,11 +132,16 @@ void ui_document_free(void *doc, void *ptr); void* ui_document_realloc(void *doc, void *ptr, size_t size); +// TODO: remove (or not) void ui_document_addint(void *doc, char *name); void ui_document_regint(void *doc, char *name, UiInteger *i); void ui_document_setint(void *doc, char *name, int val); int ui_document_getint(void *doc, char *name); +// new: +int ui_getint(UiObject *obj, char *name); + + #ifdef __cplusplus }