add pixmap set/get for comp.

SVN revision: 50238
This commit is contained in:
Carsten Haitzler 2010-07-13 23:31:16 +00:00
parent c7bb6d41f5
commit 3a00e81a7c
5 changed files with 37 additions and 1 deletions

View File

@ -1624,6 +1624,8 @@ EAPI void ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win);
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);

View File

@ -18,6 +18,7 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_STRING;
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_END;
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 */

View File

@ -7,6 +7,7 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_STRING = 0;
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_SYNC_CANCEL = 0;
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;

View File

@ -51,6 +51,7 @@ _ecore_x_atoms_init(void)
{ "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 @@ _ecore_x_atoms_init(void)
{ "_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;

View File

@ -858,3 +858,31 @@ ecore_x_e_comp_dump_send(Ecore_X_Window win)
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;
}