diff options
author | Flavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi> | 2012-12-05 21:15:42 +0000 |
---|---|---|
committer | Flavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi> | 2012-12-05 21:15:42 +0000 |
commit | ad7579c1294222d0647673499f062b137d30d270 (patch) | |
tree | 9c2c8e693ee3e74ff3d9a05ef69a0645a541533a /src/lib/ecore_evas/Ecore_Evas_Types.h | |
parent | 8783eb70bbaea0a87f7fd4d41d6b062adecf5f67 (diff) |
ecore_evas: Make the engines loadable modules
Implementing support for loadables modules. It makes the engines been
loaded when they are needed. It not breakes the api, so each engine
still has its own api.
The implementation basically is:
* Functions that creates Ecore_Evas, for example
ecore_evas_software_x11_new, request to load its module and then get
the module's function to create the Ecore_Evas.
* The other functions such as \(.*\)_window_get from the Ecore_Evas
its interface and then call the appropriate method.
* As there is no unified interface to communicate with the engines
(not break api problem), all interfaces were declared in
ecore_evas_private.h
* Now the data necessary for each module is not declared in the
Ecore_Evas_Engine structure, instead of this, the struct has a void
pointer that is used by the modules.
* In this first moment engines as software_x11 and gl_x11 were put
together in the same module, but obviously exporting all the things
necessary.
SVN revision: 80280
Diffstat (limited to 'src/lib/ecore_evas/Ecore_Evas_Types.h')
-rw-r--r-- | src/lib/ecore_evas/Ecore_Evas_Types.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/ecore_evas/Ecore_Evas_Types.h b/src/lib/ecore_evas/Ecore_Evas_Types.h new file mode 100644 index 0000000000..395c4c016f --- /dev/null +++ b/src/lib/ecore_evas/Ecore_Evas_Types.h | |||
@@ -0,0 +1,38 @@ | |||
1 | #ifndef _ECORE_EVAS_TYPES_H_ | ||
2 | #define _ECORE_EVAS_TYPES_H_ | ||
3 | |||
4 | #ifndef _ECORE_X_H | ||
5 | #define _ECORE_X_WINDOW_PREDEF | ||
6 | typedef unsigned int Ecore_X_Window; | ||
7 | #endif | ||
8 | |||
9 | #ifndef _ECORE_DIRECTFB_H | ||
10 | #define _ECORE_DIRECTFB_WINDOW_PREDEF | ||
11 | typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window; | ||
12 | #endif | ||
13 | |||
14 | #ifndef __ECORE_WIN32_H__ | ||
15 | typedef struct _Ecore_Win32_Window Ecore_Win32_Window; | ||
16 | #endif | ||
17 | |||
18 | #ifndef __ECORE_WINCE_H__ | ||
19 | typedef struct _Ecore_WinCE_Window Ecore_WinCE_Window; | ||
20 | #endif | ||
21 | |||
22 | #ifndef __ECORE_COCOA_H__ | ||
23 | typedef struct _Ecore_Cocoa_Window Ecore_Cocoa_Window; | ||
24 | #endif | ||
25 | |||
26 | #ifndef _ECORE_EVAS_PRIVATE_H | ||
27 | /* basic data types */ | ||
28 | typedef struct _Ecore_Evas Ecore_Evas; | ||
29 | typedef void (*Ecore_Evas_Event_Cb) (Ecore_Evas *ee); /**< Callback used for several ecore evas events @since 1.2 */ | ||
30 | #endif | ||
31 | |||
32 | #ifndef _ECORE_WAYLAND_H_ | ||
33 | #define _ECORE_WAYLAND_WINDOW_PREDEF | ||
34 | typedef struct _Ecore_Wl_Window Ecore_Wl_Window; | ||
35 | #endif | ||
36 | |||
37 | |||
38 | #endif /* _ECORE_EVAS_TYPES_H_ */ | ||