diff --git a/common/GNUfiles.mk b/common/GNUfiles.mk index e7fb9522..b1cc1170 100644 --- a/common/GNUfiles.mk +++ b/common/GNUfiles.mk @@ -4,10 +4,8 @@ CFILES += \ common/areaevents.c \ common/control.c \ common/matrix.c \ - common/menu.c \ common/ptrarray.c \ - common/shouldquit.c \ - common/types.c + common/shouldquit.c HFILES += \ common/uipriv.h diff --git a/common/menu.c b/common/menu.c deleted file mode 100644 index b9ccfedb..00000000 --- a/common/menu.c +++ /dev/null @@ -1,19 +0,0 @@ -// 29 may 2015 -#include "../ui.h" - -static uintmax_t type_uiMenu = 0; -static uintmax_t type_uiMenuItem = 0; - -uintmax_t uiMenuType(void) -{ - if (type_uiMenu == 0) - type_uiMenu = uiRegisterType("uiMenu", 0, 0); - return type_uiMenu; -} - -uintmax_t uiMenuItemType(void) -{ - if (type_uiMenuItem == 0) - type_uiMenuItem = uiRegisterType("uiMenuItem", 0, 0); - return type_uiMenuItem; -} diff --git a/common/types.c b/common/types.c deleted file mode 100644 index d99b50d3..00000000 --- a/common/types.c +++ /dev/null @@ -1,88 +0,0 @@ -// 17 may 2015 -#include "../ui.h" -#include "uipriv.h" - -struct typeinfo { - const char *name; - uintmax_t parent; - size_t size; -}; - -static struct ptrArray *types = NULL; - -uintmax_t uiRegisterType(const char *name, uintmax_t parent, size_t size) -{ - struct typeinfo *ti; - - if (types == NULL) { - types = newPtrArray(); - // reserve ID 0 - ptrArrayAppend(types, NULL); - } - // TODO prevent our size from being smaller than our parent's - ti = uiNew(struct typeinfo); - ti->name = name; - ti->parent = parent; - ti->size = size; - ptrArrayAppend(types, ti); - return types->len - 1; -} - -void *uiIsA(void *p, uintmax_t id, int fail) -{ - uiTyped *t; - struct typeinfo *ti, *ti2; - uintmax_t compareTo; - - if (id == 0 || id >= types->len) - complain("invalid type ID given to uiIsA()"); - t = (uiTyped *) p; - compareTo = t->Type; - if (compareTo == 0) - complain("object %p has no type in uiIsA()", t); - for (;;) { - if (compareTo >= types->len) - complain("invalid type ID in uiIsA()", t); - if (compareTo == id) - return t; - ti = ptrArrayIndex(types, struct typeinfo *, compareTo); - if (ti->parent == 0) - break; - compareTo = ti->parent; - } - if (fail) { - ti = ptrArrayIndex(types, struct typeinfo *, id); - ti2 = ptrArrayIndex(types, struct typeinfo *, t->Type); - complain("object %p not a %s in uiIsA() (is a %s)", t, ti->name, ti2->name); - } - return NULL; -} - -void uninitTypes(void) -{ - struct typeinfo *ti; - - if (types == NULL) // never initialized; do nothing - return; - // the first entry is NULL; get rid of it directly - ptrArrayDelete(types, 0); - while (types->len != 0) { - ti = ptrArrayIndex(types, struct typeinfo *, 0); - ptrArrayDelete(types, 0); - uiFree(ti); - } - ptrArrayDestroy(types); -} - -uiTyped *newTyped(uintmax_t type) -{ - struct typeinfo *ti; - uiTyped *instance; - - if (type == 0 || type >= types->len) - complain("invalid type ID given to newTyped()"); - ti = ptrArrayIndex(types, struct typeinfo *, type); - instance = (uiTyped *) uiAlloc(ti->size, ti->name); - instance->Type = type; - return instance; -} diff --git a/common/uipriv.h b/common/uipriv.h index 6fec344c..2fd9146b 100644 --- a/common/uipriv.h +++ b/common/uipriv.h @@ -38,10 +38,6 @@ void ptrArrayDelete(struct ptrArray *, uintmax_t); // shouldquit.c extern int shouldQuit(void); -// types.c -extern void uninitTypes(void); -extern uiTyped *newTyped(uintmax_t type); - // areaevents.c typedef struct clickCounter clickCounter; // you should call Reset() to zero-initialize a new instance diff --git a/darwin/main.m b/darwin/main.m index 08f33ab9..07db4459 100644 --- a/darwin/main.m +++ b/darwin/main.m @@ -119,7 +119,6 @@ void uiUninit(void) [realNSApp() setDelegate:nil]; [appDelegate() release]; [realNSApp() release]; - uninitTypes(); uninitAlloc(); } diff --git a/unix/main.c b/unix/main.c index 673677f2..07010cd5 100644 --- a/unix/main.c +++ b/unix/main.c @@ -21,7 +21,6 @@ const char *uiInit(uiInitOptions *o) void uiUninit(void) { uninitMenus(); - uninitTypes(); uninitAlloc(); } diff --git a/windows/init.cpp b/windows/init.cpp index bb0b6794..15dd4edd 100644 --- a/windows/init.cpp +++ b/windows/init.cpp @@ -151,7 +151,6 @@ void uiUninit(void) unregisterWindowClass(); // no need to delete the default icon or cursor; see http://stackoverflow.com/questions/30603077/ uninitUtilWindow(); - uninitTypes(); uninitAlloc(); }