Hey,

Here is a suggestion of a new ecore_xcb api, according to all the remarks 
I have noted.

Currently:

  * ecore_x_* functions use Xlib code if XCB is not found, otherwise use 
XCB code. In the latter case, one has to use 2 other functions (*_prefetch 
and *_fetch functions) to remove roundtrips, in case an X request needs a 
reply. Even if I only added functions, it can be considered as an API 
break.

What I propose:

  * ecore_x_* : if XCB is not found, Xlib code is used, otherwise, XCB code 
is used. No possibility to remove roundtrips. XCB code will be only a 
translation of the Xlib code. This will also remove a lot of #ifdef in 
ecore_evas_x.c code

  * ecore_xcb_* : only if XCB is found. If a request needs a reply, then 
one has to use a *_prefetch function to remove roundtrip. All the 
informations a reply can provide will be returned by one function only. 
For example, instead of having ecore_x_drawable_geometry_get and 
ecore_x_drawable_border_get, we will have an 
ecore_xcb_frawable_geometry_get which  will return the position, size, 
border and depth (all the (interesting) reply informations). This will 
suppress the use of a *_fetch function.

  * the ecore_xcb_* functions will be put in another directory, with 
another namespace.

  * A specific ecore_evas code will be written.

any ideas or remarks about that plan ?

Vincent

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to