aboutsummaryrefslogtreecommitdiffstats
path: root/src/gwin
diff options
context:
space:
mode:
authorJoel Bodenmann <joel@unormal.org>2014-02-02 19:56:05 +0100
committerJoel Bodenmann <joel@unormal.org>2014-02-02 19:56:05 +0100
commit9774c86d0e8c171f414eecdf6b1b3f9598986b69 (patch)
tree69ede6a9893ea9f157719ba2d9dfc84d05e4c588 /src/gwin
parentd646a43b6eb9e0cfb8abd37cf56344b8f65619a5 (diff)
parentd2de6c351785f323fd4b2a4e337a95bda4c9a626 (diff)
downloaduGFX-9774c86d0e8c171f414eecdf6b1b3f9598986b69.tar.gz
uGFX-9774c86d0e8c171f414eecdf6b1b3f9598986b69.tar.bz2
uGFX-9774c86d0e8c171f414eecdf6b1b3f9598986b69.zip
Merge branch 'master' into gwin
Diffstat (limited to 'src/gwin')
-rw-r--r--src/gwin/gwidget.c8
-rw-r--r--src/gwin/gwin.c17
-rw-r--r--src/gwin/gwm.c8
3 files changed, 30 insertions, 3 deletions
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 7eb09f73..5e5ae949 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;