ui/ui/toolkit.h

changeset 2
eeb50c534497
parent 1
eb5269000bc8
child 4
39b9b86ec452
equal deleted inserted replaced
1:eb5269000bc8 2:eeb50c534497
68 #define ui_setval(val, v) (val).set(&(val), v) 68 #define ui_setval(val, v) (val).set(&(val), v)
69 69
70 typedef void(*ui_callback)(UiEvent*, void*); // event, user data 70 typedef void(*ui_callback)(UiEvent*, void*); // event, user data
71 71
72 struct UiObject { 72 struct UiObject {
73 /*
74 * native widget
75 */
73 UIWIDGET widget; 76 UIWIDGET widget;
77
78 /*
79 * window context
80 */
74 UiContext *ctx; 81 UiContext *ctx;
82
83 /*
84 * user window data
85 */
75 void *window; 86 void *window;
87
88 /*
89 * current document
90 */
76 void *document; 91 void *document;
77 }; 92 };
78 93
79 struct UiEvent { 94 struct UiEvent {
80 UiObject *obj; 95 UiObject *obj;
104 char* ui_configfile(char *name); 119 char* ui_configfile(char *name);
105 120
106 void ui_main(); 121 void ui_main();
107 void ui_show(UiObject *obj); 122 void ui_show(UiObject *obj);
108 123
109 void* ui_document_create(UiObject *obj, size_t size); 124 void ui_set_document(UiObject *obj, void *document);
125 void ui_detach_document(UiObject *obj, void *document);
126
127 void* ui_document_new(size_t size);
110 void ui_document_destroy(void *doc); 128 void ui_document_destroy(void *doc);
111 129
112 void* ui_document_malloc(void *doc, size_t size); 130 void* ui_document_malloc(void *doc, size_t size);
113 void* ui_document_calloc(void *doc, size_t nelem, size_t elsize); 131 void* ui_document_calloc(void *doc, size_t nelem, size_t elsize);
114 void ui_document_free(void *doc, void *ptr); 132 void ui_document_free(void *doc, void *ptr);
115 void* ui_document_realloc(void *doc, void *ptr, size_t size); 133 void* ui_document_realloc(void *doc, void *ptr, size_t size);
116 134
135 // TODO: remove (or not)
117 void ui_document_addint(void *doc, char *name); 136 void ui_document_addint(void *doc, char *name);
118 void ui_document_regint(void *doc, char *name, UiInteger *i); 137 void ui_document_regint(void *doc, char *name, UiInteger *i);
119 void ui_document_setint(void *doc, char *name, int val); 138 void ui_document_setint(void *doc, char *name, int val);
120 int ui_document_getint(void *doc, char *name); 139 int ui_document_getint(void *doc, char *name);
140
141 // new:
142 int ui_getint(UiObject *obj, char *name);
143
121 144
122 145
123 #ifdef __cplusplus 146 #ifdef __cplusplus
124 } 147 }
125 #endif 148 #endif

mercurial