From: Enlightenment S. <no-...@en...> - 2010-07-13 23:31:24
|
Log: add pixmap set/get for comp. Author: raster Date: 2010-07-13 16:31:16 -0700 (Tue, 13 Jul 2010) New Revision: 50238 Modified: trunk/ecore/src/lib/ecore_x/Ecore_X.h trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c Modified: trunk/ecore/src/lib/ecore_x/Ecore_X.h =================================================================== --- trunk/ecore/src/lib/ecore_x/Ecore_X.h 2010-07-13 22:46:17 UTC (rev 50237) +++ trunk/ecore/src/lib/ecore_x/Ecore_X.h 2010-07-13 23:31:16 UTC (rev 50238) @@ -1624,6 +1624,8 @@ EAPI void ecore_x_e_comp_flush_send(Ecore_X_Window win); EAPI void ecore_x_e_comp_dump_send(Ecore_X_Window win); +EAPI void ecore_x_e_comp_pixmap_set(Ecore_X_Window win, Ecore_X_Pixmap pixmap); +EAPI Ecore_X_Pixmap ecore_x_e_comp_pixmap_get(Ecore_X_Window win); EAPI Ecore_X_Sync_Alarm ecore_x_sync_alarm_new(Ecore_X_Sync_Counter counter); EAPI int ecore_x_sync_alarm_free(Ecore_X_Sync_Alarm alarm); Modified: trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h =================================================================== --- trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h 2010-07-13 22:46:17 UTC (rev 50237) +++ trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h 2010-07-13 23:31:16 UTC (rev 50238) @@ -18,6 +18,7 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_TEXT; EAPI extern Ecore_X_Atom ECORE_X_ATOM_UTF8_STRING; EAPI extern Ecore_X_Atom ECORE_X_ATOM_WINDOW; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_PIXMAP; /* dnd atoms */ EAPI extern Ecore_X_Atom ECORE_X_ATOM_SELECTION_XDND; @@ -250,5 +251,6 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_CANCEL; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_FLUSH; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_DUMP; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_PIXMAP; #endif /* _ECORE_X_ATOMS_H */ Modified: trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h =================================================================== --- trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h 2010-07-13 22:46:17 UTC (rev 50237) +++ trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h 2010-07-13 23:31:16 UTC (rev 50238) @@ -7,6 +7,7 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_TEXT = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_UTF8_STRING = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_WINDOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_PIXMAP = 0; /* dnd atoms */ EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_XDND = 0; @@ -273,3 +274,4 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_FLUSH = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_DUMP = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_PIXMAP = 0; Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c =================================================================== --- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c 2010-07-13 22:46:17 UTC (rev 50237) +++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c 2010-07-13 23:31:16 UTC (rev 50238) @@ -51,6 +51,7 @@ { "TEXT", &ECORE_X_ATOM_TEXT }, { "UTF8_STRING", &ECORE_X_ATOM_UTF8_STRING }, { "WINDOW", &ECORE_X_ATOM_WINDOW }, + { "PIXMAP", &ECORE_X_ATOM_PIXMAP }, { "JXSelectionWindowProperty", &ECORE_X_ATOM_SELECTION_PROP_XDND }, { "XdndSelection", &ECORE_X_ATOM_SELECTION_XDND }, @@ -264,7 +265,8 @@ { "_E_COMP_SYNC_CANCEL", &ECORE_X_ATOM_E_COMP_SYNC_CANCEL }, { "_E_COMP_FLUSH", &ECORE_X_ATOM_E_COMP_FLUSH }, - { "_E_COMP_DUMP", &ECORE_X_ATOM_E_COMP_DUMP } + { "_E_COMP_DUMP", &ECORE_X_ATOM_E_COMP_DUMP }, + { "_E_COMP_PIXMAP", &ECORE_X_ATOM_E_COMP_PIXMAP } }; Atom *atoms; char **names; Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c =================================================================== --- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c 2010-07-13 22:46:17 UTC (rev 50237) +++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c 2010-07-13 23:31:16 UTC (rev 50238) @@ -858,3 +858,31 @@ NoEventMask, //SubstructureRedirectMask | SubstructureNotifyMask, &xev); } + +EAPI void +ecore_x_e_comp_pixmap_set(Ecore_X_Window win, Ecore_X_Pixmap pixmap) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + if (pixmap) + ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_DUMP, + ECORE_X_ATOM_PIXMAP, &pixmap, 1); + else + ecore_x_window_prop_property_del(win, pixmap); +} + +EAPI Ecore_X_Pixmap +ecore_x_e_comp_pixmap_get(Ecore_X_Window win) +{ + int ret = 0; + Ecore_X_Pixmap pixmap = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); + ret = + ecore_x_window_prop_xid_get(win, + ECORE_X_ATOM_E_COMP_DUMP, + ECORE_X_ATOM_PIXMAP, + &pixmap, 1); + if (ret != 1) return 0; + return pixmap; +} + |