blob: 8e92fc29a20b1cb07f580816d23318b7a3974c63 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
/*
* This file is subject to the terms of the GFX License. If a copy of
* the license was not distributed with this file, you can obtain one at:
*
* http://ugfx.org/license.html
*/
/**
* @file src/gfx.c
* @brief GFX common routines.
*/
/* Display various warnings from gfx_rules.h */
#define GFX_DISPLAY_RULE_WARNINGS TRUE
#include "gfx.h"
static bool_t initDone = FALSE;
/* These init functions are defined by each module but not published */
extern void _gosInit(void);
extern void _gosDeinit(void);
#if GFX_USE_GDISP
extern void _gdispInit(void);
extern void _gdispDeinit(void);
#endif
#if GFX_USE_GWIN
extern void _gwinInit(void);
extern void _gwinDeinit(void);
#endif
#if GFX_USE_GEVENT
extern void _geventInit(void);
extern void _geventDeinit(void);
#endif
#if GFX_USE_GTIMER
extern void _gtimerInit(void);
extern void _gtimerDeinit(void);
#endif
#if GFX_USE_GINPUT
extern void _ginputInit(void);
extern void _ginputDeinit(void);
#endif
#if GFX_USE_GADC
extern void _gadcInit(void);
extern void _gadcDeinit(void);
#endif
#if GFX_USE_GAUDIO
extern void _gaudioInit(void);
extern void _gaudioDeinit(void);
#endif
#if GFX_USE_GMISC
extern void _gmiscInit(void);
extern void _gmiscDeinit(void);
#endif
void gfxInit(void)
{
/* Ensure we only initialise once */
if (initDone)
return;
initDone = TRUE;
// These must be initialised in the order of their dependancies
_gosInit();
#if GFX_USE_GMISC
_gmiscInit();
#endif
#if GFX_USE_GEVENT
_geventInit();
#endif
#if GFX_USE_GTIMER
_gtimerInit();
#endif
#if GFX_USE_GDISP
_gdispInit();
#endif
#if GFX_USE_GWIN
_gwinInit();
#endif
#if GFX_USE_GINPUT
_ginputInit();
#endif
#if GFX_USE_GADC
_gadcInit();
#endif
#if GFX_USE_GAUDIO
_gaudioInit();
#endif
}
void gfxDeinit(void)
{
if (!initDone)
return;
initDone = FALSE;
// We deinitialise the opposite way as we initialised
#if GFX_USE_GAUDIN
_gaudioDeinit();
#endif
#if GFX_USE_GADC
_gadcDeinit();
#endif
#if GFX_USE_GINPUT
_ginputDeinit();
#endif
#if GFX_USE_GWIN
_gwinDeinit();
#endif
#if GFX_USE_GDISP
_gdispDeinit();
#endif
#if GFX_USE_GTIMER
_gtimerDeinit();
#endif
#if GFX_USE_GEVENT
_geventDeinit();
#endif
#if GFX_USE_GMISC
_gmiscInit();
#endif
_gosDeinit();
}
|