summaryrefslogtreecommitdiff
path: root/src/lib/ecore_evas/Ecore_Evas_Types.h
diff options
context:
space:
mode:
authorFlavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi>2012-12-05 21:15:42 +0000
committerFlavio Vinicius Alvares Ceolin <flavio.ceolin@profusion.mobi>2012-12-05 21:15:42 +0000
commitad7579c1294222d0647673499f062b137d30d270 (patch)
tree9c2c8e693ee3e74ff3d9a05ef69a0645a541533a /src/lib/ecore_evas/Ecore_Evas_Types.h
parent8783eb70bbaea0a87f7fd4d41d6b062adecf5f67 (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.h38
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
6typedef unsigned int Ecore_X_Window;
7#endif
8
9#ifndef _ECORE_DIRECTFB_H
10#define _ECORE_DIRECTFB_WINDOW_PREDEF
11typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window;
12#endif
13
14#ifndef __ECORE_WIN32_H__
15typedef struct _Ecore_Win32_Window Ecore_Win32_Window;
16#endif
17
18#ifndef __ECORE_WINCE_H__
19typedef struct _Ecore_WinCE_Window Ecore_WinCE_Window;
20#endif
21
22#ifndef __ECORE_COCOA_H__
23typedef struct _Ecore_Cocoa_Window Ecore_Cocoa_Window;
24#endif
25
26#ifndef _ECORE_EVAS_PRIVATE_H
27/* basic data types */
28typedef struct _Ecore_Evas Ecore_Evas;
29typedef 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
34typedef struct _Ecore_Wl_Window Ecore_Wl_Window;
35#endif
36
37
38#endif /* _ECORE_EVAS_TYPES_H_ */