94 cxMapPut(documents, cx_hash_key(&document, sizeof(void*)), ctx); |
94 cxMapPut(documents, cx_hash_key(&document, sizeof(void*)), ctx); |
95 return document; |
95 return document; |
96 } |
96 } |
97 |
97 |
98 void ui_document_destroy(void *doc) { |
98 void ui_document_destroy(void *doc) { |
99 // TODO |
99 UiContext *ctx = ui_document_context(doc); |
|
100 if(ctx) { |
|
101 UiEvent ev; |
|
102 ev.window = NULL; |
|
103 ev.document = doc; |
|
104 ev.obj = NULL; |
|
105 ev.eventdata = NULL; |
|
106 ev.intval = 0; |
|
107 |
|
108 if(ctx->close_callback) { |
|
109 ctx->close_callback(&ev, ctx->close_data); |
|
110 } |
|
111 cxMempoolDestroy(ctx->mp); |
|
112 } |
100 } |
113 } |
101 |
114 |
102 UiContext* ui_document_context(void *doc) { |
115 UiContext* ui_document_context(void *doc) { |
103 if(doc) { |
116 if(doc) { |
104 return cxMapGet(documents, cx_hash_key(&doc, sizeof(void*))); |
117 return cxMapGet(documents, cx_hash_key(&doc, sizeof(void*))); |