E_Zone*zone;// never deref - just use for handle cmp's
Evas_Object*base;
Evas_Object*over;
intcontainer_num;
intzone_num;
intx,y,w,h;
doublebl;
Eina_Boolbloff;
};
struct_E_Comp_Win
{
EINA_INLIST;
E_Comp*c;// parent compositor
Ecore_X_Windowwin;// raw window - for menus etc.
E_Border*bd;// if its a border - later
E_Popup*pop;// if its a popup - later
E_Menu*menu;// if it is a menu - later
intx,y,w,h;// geometry
struct
{
intx,y,w,h;// hidden geometry (used when its unmapped and re-instated on map)
}hidden;
intpw,ph;// pixmap w/h
intborder;// border width
Ecore_X_Pixmappixmap;// the compositing pixmap
Ecore_X_Damagedamage;// damage region
Ecore_X_Visualvis;// window visual
Ecore_X_Colormapcmap;// colormap of window
intdepth;// window depth
Evas_Object*obj;// composite object
Evas_Object*shobj;// shadow object
Eina_List*obj_mirror;// extra mirror objects
Ecore_X_Image*xim;// x image - software fallback
E_Update*up;// update handler
E_Object_Delfn*dfn;// delete function handle for objects being tracked
Ecore_X_Sync_Countercounter;// sync counter for syncronised drawing
Ecore_Timer*update_timeout;// max time between damage and "done" event
Ecore_Timer*ready_timeout;// max time on show (new window draw) to wait for window contents to be ready if sync protocol not handled. this is fallback.
intdmg_updates;// num of damage event updates since a redirect
Ecore_X_Rectangle*rects;// shape rects... if shaped :(
intrects_num;// num rects above
Ecore_X_Pixmapcache_pixmap;// the cached pixmap (1/nth the dimensions)
intcache_w,cache_h;// cached pixmap size
intupdate_count;// how many updates have happened to this win
doublelast_visible_time;// last time window was visible
doublelast_draw_time;// last time window was damaged
intpending_count;// pending event count
unsignedintopacity;// opacity set with _NET_WM_WINDOW_OPACITY
char*title,*name,*clas,*role;// fetched for override-redirect windowa
Ecore_X_Window_Typeprimary_type;// fetched for override-redirect windowa