Commit Graph

4 Commits

Author SHA1 Message Date
Chris Michael cd28854fdf ecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon
@fix: Fix building Enlightenment without X support

These changes are needed so that we can build Enlightenment without X
support. Many places in the E code reference
Ecore_X_Atom/Ecore_X_Icon. If we build E without X support, these end
up being undefined, causing build to fail, so we need to predefine them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-12 08:42:01 +00:00
Chris Michael a2a2a1c8a2 Add typedef for Ecore_X_Pixmap if Ecore_X header is not included.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-05 10:44:18 +01:00
Gustavo Sverzut Barbieri 532284dbbe efl: forward typedef to avoid including useless headers.
do not include Ecore_Input.h just to get Ecore_Window and Ecore_Getopt
to get handful typedefs.

NOTE: why do we have the #ifdefs around these predefs? At least GCC does not warn if we typedef twice the same thing (if they are identical)



SVN revision: 82499
2013-01-10 02:18:10 +00:00
Flavio Vinicius Alvares Ceolin ad7579c129 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
2012-12-05 21:15:42 +00:00