| 44 void *userdata; |
44 void *userdata; |
| 45 } objcallback; |
45 } objcallback; |
| 46 |
46 |
| 47 void ui_register_object_creation_callback(ui_object_callback func, void *userdata) { |
47 void ui_register_object_creation_callback(ui_object_callback func, void *userdata) { |
| 48 if(!creation_callbacks) { |
48 if(!creation_callbacks) { |
| 49 creation_callbacks = cxLinkedListCreateSimple(sizeof(objcallback)); |
49 creation_callbacks = cxLinkedListCreate(NULL, sizeof(objcallback)); |
| 50 } |
50 } |
| 51 objcallback cb = { func, userdata }; |
51 objcallback cb = { func, userdata }; |
| 52 cxListAdd(creation_callbacks, &cb); |
52 cxListAdd(creation_callbacks, &cb); |
| 53 } |
53 } |
| 54 |
54 |
| 55 void ui_register_object_destruction_callback(ui_object_callback func, void *userdata) { |
55 void ui_register_object_destruction_callback(ui_object_callback func, void *userdata) { |
| 56 if(!destruction_callbacks) { |
56 if(!destruction_callbacks) { |
| 57 destruction_callbacks = cxLinkedListCreateSimple(sizeof(objcallback)); |
57 destruction_callbacks = cxLinkedListCreate(NULL, sizeof(objcallback)); |
| 58 } |
58 } |
| 59 objcallback cb = { func, userdata }; |
59 objcallback cb = { func, userdata }; |
| 60 cxListAdd(destruction_callbacks, &cb); |
60 cxListAdd(destruction_callbacks, &cb); |
| 61 } |
61 } |
| 62 |
62 |