tl;dr: To have a sub-ecore_evas inside the wayland ecore_evas. The sub-ecore_evas would handle the client area content, while the ecore_evas (external one) would handle the rendering of the window decorations.
How it should work: ================== Once one asks for a wayland ecore evas (ecore_evas_wayland_shm_new, for example), the external ecore evas would be created, with additional space for the window decorations (here called frame). After being created, a new ecore evas, the sub ecore evas, would be created with its drawing contexted being smaller and having an offset relative to the frame. The Evas of this sub ecore evas would now know about the external area of the frame at all. The Ecore_Evas pointer returned by the ecore_evas_wayland_shm_new function would be the one from the sub ecore evas, so any application would use it without any need for special handling. There would be an API available for returning the external/parent ecore evas of this one, since the objects used for rendering the window decorations would be added to this external Evas. Any API for resize, move, etc., of the returned ecore evas would have to actually be applied first to the external ecore evas, and then have the internal one adjusted. The external ecore evas would be always created first, with the required surfaces allocated and so, and then the sub ecore evas would need to have its drawing context pointed to a smaller area of this allocated surface. Benefits: ======== There would be no more need to keep wayland specific code for handling the framespace inside evas render code, evas objects code, etc. Everything would be done inside the Ecore_Evas wayland backend. Most problems related to this framespace code would be fixed, since every evas object would not need to be shifted by the framespace offset anymore, and there would be no clipper objects, etc. Concerns: ======== I'm just worried right now if will there be any problem when handling mouse events or if it's possible to adjust the drawing context as I proposed above, in order to make a given Ecore_Evas to only know about a sub-area of a given surface allocated by its parent Ecore_Evas. So, do you guys have any comments, advices, know of things that probably won't work, etc? Thanks for any feedback, -- Rafael Antognolli http://antognolli.org/ ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel