diff options
Diffstat (limited to 'pugl/detail/implementation.c')
-rw-r--r-- | pugl/detail/implementation.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/pugl/detail/implementation.c b/pugl/detail/implementation.c index a64e6fd..1f027a9 100644 --- a/pugl/detail/implementation.c +++ b/pugl/detail/implementation.c @@ -26,6 +26,15 @@ #include <string.h> static void +puglSetString(char** dest, const char* string) +{ + const size_t len = strlen(string); + + *dest = (char*)realloc(*dest, len + 1); + strncpy(*dest, string, len + 1); +} + +static void puglSetDefaultHints(PuglHints hints) { hints[PUGL_USE_COMPAT_PROFILE] = PUGL_TRUE; @@ -54,6 +63,7 @@ puglNewWorld(void) } world->startTime = puglGetTime(world); + puglSetString(&world->className, "Pugl"); return world; } @@ -62,10 +72,18 @@ void puglFreeWorld(PuglWorld* const world) { puglFreeWorldInternals(world); + free(world->className); free(world->views); free(world); } +PuglStatus +puglSetClassName(PuglWorld* const world, const char* const name) +{ + puglSetString(&world->className, name); + return PUGL_SUCCESS; +} + PuglView* puglNewView(PuglWorld* const world) { @@ -109,7 +127,6 @@ puglFreeView(PuglView* view) } puglFreeViewInternals(view); - free(view->windowClass); free(view); } @@ -128,16 +145,6 @@ puglInitWindowHint(PuglView* view, PuglWindowHint hint, int value) } void -puglInitWindowClass(PuglView* view, const char* name) -{ - const size_t len = strlen(name); - - free(view->windowClass); - view->windowClass = (char*)calloc(1, len + 1); - memcpy(view->windowClass, name, len); -} - -void puglInitWindowParent(PuglView* view, PuglNativeWindow parent) { view->parent = parent; |