From b0ac6dcb492b68404d800fe8ed0c7393d487fa4b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 4 Aug 2019 20:19:01 +0200 Subject: Add puglSetClassName() --- pugl/detail/implementation.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'pugl/detail/implementation.c') 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 @@ -25,6 +25,15 @@ #include #include +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) { @@ -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); } @@ -127,16 +144,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) { -- cgit v1.2.1