83 } |
83 } |
84 |
84 |
85 void* ui_document_new(size_t size) { |
85 void* ui_document_new(size_t size) { |
86 CxMempool *mp = cxMempoolCreate(256, NULL); |
86 CxMempool *mp = cxMempoolCreate(256, NULL); |
87 const CxAllocator *a = mp->allocator; |
87 const CxAllocator *a = mp->allocator; |
88 UiContext *ctx = cxCalloc(a, 1, sizeof(UiContext)); |
88 UiContext *ctx = uic_context(NULL, mp); |
89 ctx->mp = mp; |
|
90 ctx->attach_document = uic_context_attach_document; |
|
91 ctx->detach_document2 = uic_context_detach_document2; |
|
92 ctx->allocator = a; |
|
93 ctx->vars = cxHashMapCreate(a, CX_STORE_POINTERS, 16); |
|
94 |
89 |
95 void *document = cxCalloc(a, size, 1); |
90 void *document = cxCalloc(a, size, 1); |
96 cxMapPut(documents, cx_hash_key(&document, sizeof(void*)), ctx); |
91 cxMapPut(documents, cx_hash_key(&document, sizeof(void*)), ctx); |
97 return document; |
92 return document; |
98 } |
93 } |