[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] Ewl Update



Hello,

If you're using Ewl at the moment you might want to be careful updating. I just put back a large change that moves the engine code out into loadable modules. There could be some issues with stability that we'll have to work out. (Or it could all just work, yea, right.)

If you're wondering, Ewl now has all of its engine stuff in loadable modules. So before we'd have something like:

#ifdef EWL_EVAS_SOFTWARE_X11
do something
#endif
#ifdef EWL_EVAS FB
do something
#endif

we just have:
ewl_engine_do_something(window);

which makes the code a lot cleaner. Then the engines just implement the functions they needed.

The engines also have a dependency tree. So, the evas_software_x11 and evas_gl_x11 engines are dependant on the x11 engine. This means that they only implement 3 functions, init/shutdown and canvas setup. All of the other code is in the x11 file. Ewl will look up the dependency tree to find the function to execute (it runs the first non NULL one.)

Adding engines should be pretty easy as well. Just put the code into src/engines, implement the Ewl_Engine_Info functions, and two other functions, install it and ewl should pick it up. It will take the foo_blah.so name and add a --ewl-foo-blah switch to select your engine.

Thats if for now. If you do try it out, let me know if anything goes wrong.

Thanks,
dan