Hey,
I'm contributing to a project (the Enlightenment Libraries Fundations,
shortly EFL) that are the base libraries used by the Enlightenment window
manager [1]. There are mainly
* Eina: a highly optimized data types lib
* Evas: a canvas library that is highly optimized (faster than gdk or
qt(opia)
* Ecore: a kind of glib (main loop, events, things related to evas,
etc..)
* Edje: a lib that allow the programmers to create some gui without
programming, by writing a text file. You can find some doc
in [2].
To see what the efl can do on a desktop (not an embedded device), you can
look at the video [3]. For a video on embedded, see [4].
The EFL has been chosen by some friends for their work because of:
1) small footprint (a friend work for a company on a set top box, running
at 200 MHz. qtopia can't even be compiled)
2) speed (the friend working on the set top box was enable to run some
programs with a good speed with gtk)
3) the separation of programming the core of a program (evas + ecore) and
the creation of the gui (with edje). It allows a designer to create a
gui without knowing how to program a single line of code (Calaos [5] or
Canola chose them for these 3 reasons). That kind of design is now being
implemented in the next gnome and qt.
I have ported that set of libraries to Windows CE using mingw32ce and it
seems that they run quite nicely. Note that I did the zlib, libjpeg,
freetype and libpng ports for the EFL ;)
If you want to compile by yourself, there is a wiki [6]. Note that you
have to use the svn source code of cegcc as there are some bugs that are
fixed in it. The current releases of cegcc that you can find on SF will
not work.
Currently, Evas has the following:
* backends:
- raw framebuffer
- gapi
- directdraw
- gdi (must be improved, it is suboptimal. maybe the engines above too)
* loaders: eet, jpeg, pmaps, png and xpm
* savers: png, eet
You can doawnload the following zip files I have built there:
http://www.maths.univ-evry.fr/pages_perso/vtorri/files/efl.zip
http://www.maths.univ-evry.fr/pages_perso/vtorri/files/expedite.zip
They contain the needed dll of third party libs and the EFL. Everything is
installed in \efl. Expedite is the benchmark program of Evas. To run
Expedite:
expedite.exe -datadir \efl\expedite\data" -e wince-fb -p qvga-p
-e : for the engine. You can use wince-fb, wince-gapi, wince-ddraw or
wince-gdi
-p : for the screen resolution. you can use qvga (320x200) or vga
(640x480). Add -p to be in portrait mode. use the arraows to select a
test.
To test the EFL, you can try with a simple test (named 'glassy'):
1) put
http://www.maths.univ-evry.fr/pages_perso/vtorri/files/glassy_comp.edj
in \efl. glassy_comp.edj is the "gui" part mentioned above
2) edit
http://www.maths.univ-evry.fr/pages_perso/vtorri/files/edje_test.c
so that
ee = ecore_evas_software_wince_fb_new (NULL, 0, 0, 320, 240);
uses the correct size of your device (320 == width, 240 == height, I have
an ipaq H3970 which fb is landscape) and compile it (there is a command
line at the top of the files). That file is the "programming" part
mentioned above.
Put the program in \efl then run it. You should see an animated image
moving horizontally at the bottom of the screen.
IMPORTANT NOTE: Evas has only been tested with some Ipaq and a HTC (the
S710, iirc but i can be wrong). So the EFL i provided in the zip file
might not run sucessfully on other devices. Indeed, the graphic "system"
on Windows CE depends a lot on the driver provided by the OEM. For
example, the Ipaq H38** and H39** are an horror wrt graphics.
Comments and ideas are welcome.
regards
Vincent Torri
[1] http://www.enlightenment.org/
[2] http://web.enlightenment.org/p.php?p=docs&l=en
[3] http://calaos.fr/pub/video/calaos_media_music.ogg
[4] http://calaos.fr/pub/moshi_wince.avi
[5] http://calaos.fr
[6] http://wiki.enlightenment.org/index.php/EFL_Windows_CE
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel