From a11f7da53638ee4fe282c7b5725294ca1780f9bf Mon Sep 17 00:00:00 2001 From: Joel Bodenmann Date: Sun, 2 Feb 2014 19:24:43 +0100 Subject: added deinit() routines for all modules (not implemented so far) --- src/gwin/gwidget.c | 8 +++++++- src/gwin/gwin.c | 17 ++++++++++++++++- src/gwin/gwm.c | 8 +++++++- 3 files changed, 30 insertions(+), 3 deletions(-) (limited to 'src/gwin') diff --git a/src/gwin/gwidget.c b/src/gwin/gwidget.c index 484b8c37..75a69667 100644 --- a/src/gwin/gwidget.c +++ b/src/gwin/gwidget.c @@ -224,11 +224,17 @@ static void gwidgetEvent(void *param, GEvent *pe) { } #endif -void _gwidgetInit(void) { +void _gwidgetInit(void) +{ geventListenerInit(&gl); geventRegisterCallback(&gl, gwidgetEvent, 0); } +void _gwidgetDeinit(void) +{ + /* ToDo */ +} + GHandle _gwidgetCreate(GDisplay *g, GWidgetObject *pgw, const GWidgetInit *pInit, const gwidgetVMT *vmt) { if (!(pgw = (GWidgetObject *)_gwindowCreate(g, &pgw->g, &pInit->g, &vmt->g, GWIN_FLG_WIDGET|GWIN_FLG_ENABLED))) return 0; diff --git a/src/gwin/gwin.c b/src/gwin/gwin.c index 94799482..485ccaaa 100644 --- a/src/gwin/gwin.c +++ b/src/gwin/gwin.c @@ -84,7 +84,8 @@ static color_t defaultBgColor = Black; * Class Routines *-----------------------------------------------*/ -void _gwinInit(void) { +void _gwinInit(void) +{ #if GWIN_NEED_WIDGET extern void _gwidgetInit(void); @@ -97,6 +98,20 @@ void _gwinInit(void) { #endif } +void _gwinDeinit(void) +{ + #if GWIN_NEED_WIDGET + extern void _gwidgetDeinit(void); + + _gwidgetDeinit(); + #endif + #if GWIN_NEED_WINDOWMANAGER + extern void _gwmDeinit(void); + + _gwmDeinit(); + #endif +} + // Internal routine for use by GWIN components only // Initialise a window creating it dynamically if required. GHandle _gwindowCreate(GDisplay *g, GWindowObject *pgw, const GWindowInit *pInit, const gwinVMT *vmt, uint16_t flags) { diff --git a/src/gwin/gwm.c b/src/gwin/gwm.c index f4dd8090..e7a71737 100644 --- a/src/gwin/gwm.c +++ b/src/gwin/gwm.c @@ -60,7 +60,8 @@ GWindowManager * _GWINwm; * Window Routines *-----------------------------------------------*/ -void _gwmInit(void) { +void _gwmInit(void) +{ gfxQueueASyncInit(&_GWINList); _GWINwm = (GWindowManager *)&GNullWindowManager; _GWINwm->vmt->Init(); @@ -70,6 +71,11 @@ void _gwmInit(void) { #endif } +void _gwmDeinit(void) +{ + /* ToDo */ +} + void gwinSetWindowManager(struct GWindowManager *gwm) { if (!gwm) gwm = (GWindowManager *)&GNullWindowManager; -- cgit v1.2.3