On Wed, 7 Mar 2012 11:17:42 +0100 Vincent Torri <vincent.to...@gmail.com> said:
we should. just give me 80hrs in a day :) > if i'm not mistaken, a lot of that code (in ecore_x/cb_e.c is common > to xlib and xcb. Shouldn't we factorize that a bit ? > > Vincent > > On Wed, Mar 7, 2012 at 11:13 AM, Enlightenment SVN > <no-re...@enlightenment.org> wrote: > > Log: > > ecore/ecore_x - added ecore_x_illume clipboard stuff. > > > > > > > > Author: hermet > > Date: 2012-03-07 02:13:24 -0800 (Wed, 07 Mar 2012) > > New Revision: 68920 > > Trac: http://trac.enlightenment.org/e/changeset/68920 > > > > 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/xcb/ecore_xcb_atoms.c > > trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c > > 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 2012-03-07 10:04:54 UTC > > (rev 68919) +++ trunk/ecore/src/lib/ecore_x/Ecore_X.h 2012-03-07 > > 10:13:24 UTC (rev 68920) @@ -1111,6 +1111,13 @@ > > ECORE_X_ILLUME_INDICATOR_STATE_ON > > } Ecore_X_Illume_Indicator_State; > > > > +typedef enum _Ecore_X_Illume_Clipboard_State > > +{ > > + ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN = 0, > > + ECORE_X_ILLUME_CLIPBOARD_STATE_OFF, > > + ECORE_X_ILLUME_CLIPBOARD_STATE_ON > > +} Ecore_X_Illume_Clipboard_State; > > + > > /* Window layer constants */ > > #define ECORE_X_WINDOW_LAYER_BELOW 2 > > #define ECORE_X_WINDOW_LAYER_NORMAL 4 > > @@ -2411,6 +2418,25 @@ > > ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win); > > > > EAPI void > > +ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, > > + Ecore_X_Illume_Clipboard_State state); > > + > > +EAPI Ecore_X_Illume_Clipboard_State > > +ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win); > > + > > +EAPI void > > +ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, > > + int x, > > + int y, > > + int w, > > + int h); > > +EAPI Eina_Bool > > +ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, > > + int *x, > > + int *y, > > + int *w, > > + int *h); > > +EAPI void > > ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, > > Ecore_X_Sync_Counter counter); > > EAPI Ecore_X_Sync_Counter > > > > Modified: trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h > > =================================================================== > > --- trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h 2012-03-07 10:04:54 UTC > > (rev 68919) +++ trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h 2012-03-07 > > 10:13:24 UTC (rev 68920) @@ -241,6 +241,10 @@ > > EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE; > > EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_ON; > > EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF; > > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE; > > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; > > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; > > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY; > > > > EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER; > > EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE; > > > > Modified: trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h > > =================================================================== > > --- trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h 2012-03-07 10:04:54 > > UTC (rev 68919) +++ trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h > > 2012-03-07 10:13:24 UTC (rev 68920) @@ -267,6 +267,8 @@ > > EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE = 0; > > EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_ON = 0; > > EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF = 0; > > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE = 0; > > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY = 0; > > > > EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_COUNTER = 0; > > EAPI Ecore_X_Atom ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE = 0; > > > > Modified: trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c > > =================================================================== > > --- trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c 2012-03-07 10:04:54 > > UTC (rev 68919) +++ trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_atoms.c > > 2012-03-07 10:13:24 UTC (rev 68920) @@ -252,7 +252,10 @@ > > { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE }, > > { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON }, > > { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF }, > > - > > + { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE }, > > + { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON }, > > + { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF }, > > + { "_E_ILLUME_CLIPBOARD_GEOMETRY", > > &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY }, { "_E_COMP_SYNC_COUNTER", > > &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, { "_E_COMP_SYNC_DRAW_DONE", > > &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, { "_E_COMP_SYNC_SUPPORTED", > > &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, > > > > Modified: trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c > > =================================================================== > > --- trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c 2012-03-07 10:04:54 > > UTC (rev 68919) +++ trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c > > 2012-03-07 10:13:24 UTC (rev 68920) @@ -721,7 +721,100 @@ > > 0, 0, 0, 0, 0); > > } > > > > +static Ecore_X_Atom > > +_ecore_xcb_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) > > +{ > > + switch (state) > > + { > > + case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: > > + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; > > + case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: > > + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; > > + default: > > + break; > > + } > > + return 0; > > +} > > + > > +static Ecore_X_Illume_Clipboard_State > > +_ecore_xcb_e_clipboard_state_get(Ecore_X_Atom atom) > > +{ > > + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) > > + return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; > > + > > + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) > > + return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; > > + > > + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; > > +} > > + > > EAPI void > > +ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, > > + Ecore_X_Illume_Clipboard_State state) > > +{ > > + Ecore_X_Atom atom = 0; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + atom = _ecore_xcb_e_clipboard_atom_get(state); > > + > > + ecore_x_window_prop_atom_set(win, > > + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, > > + &atom, 1); > > +} > > + > > +EAPI Ecore_X_Illume_Clipboard_State > > +ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) > > +{ > > + Ecore_X_Atom atom = 0; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + > > + if (!ecore_x_window_prop_atom_get(win, > > + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, > > + &atom, 1)) > > + return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; > > + return _ecore_xcb_clipboard_state_get(atom); > > +} > > + > > +EAPI void > > +ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, > > + int x, int y, int w, int h) > > +{ > > + unsigned int geom[4]; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + geom[0] = x; > > + geom[1] = y; > > + geom[2] = w; > > + geom[3] = h; > > + ecore_x_window_prop_card32_set(win, > > + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, > > + geom, 4); > > +} > > + > > +EAPI Eina_Bool > > +ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, > > + int *x, int *y, int *w, int *h) > > +{ > > + int ret = 0; > > + unsigned int geom[4]; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + ret = > > + ecore_x_window_prop_card32_get(win, > > + > > ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, > > + geom, 4); > > + if (ret != 4) return EINA_FALSE; > > + > > + if (x) *x = geom[0]; > > + if (y) *y = geom[1]; > > + if (w) *w = geom[2]; > > + if (h) *h = geom[3]; > > + > > + return EINA_TRUE; > > +} > > + > > +EAPI void > > ecore_x_e_illume_mode_set(Ecore_X_Window win, > > Ecore_X_Illume_Mode mode) > > { > > > > Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c > > =================================================================== > > --- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c 2012-03-07 10:04:54 > > UTC (rev 68919) +++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c > > 2012-03-07 10:13:24 UTC (rev 68920) @@ -273,7 +273,10 @@ > > { "_E_ILLUME_INDICATOR_STATE", > > &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE }, { "_E_ILLUME_INDICATOR_ON", > > &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON }, { "_E_ILLUME_INDICATOR_OFF", > > &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF }, - > > + { "_E_ILLUME_CLIPBOARD_STATE", > > &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE }, > > + { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON }, > > + { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF }, > > + { "_E_ILLUME_CLIPBOARD_GEOMETRY", > > &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY }, { "_E_COMP_SYNC_COUNTER", > > &ECORE_X_ATOM_E_COMP_SYNC_COUNTER }, { "_E_COMP_SYNC_DRAW_DONE", > > &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE }, { "_E_COMP_SYNC_SUPPORTED", > > &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED }, > > > > Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c > > =================================================================== > > --- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c 2012-03-07 10:04:54 > > UTC (rev 68919) +++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c > > 2012-03-07 10:13:24 UTC (rev 68920) @@ -768,7 +768,100 @@ > > 1, 0, 0, 0, 0); > > } > > > > +static Ecore_X_Atom > > +_ecore_x_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state) > > +{ > > + switch (state) > > + { > > + case ECORE_X_ILLUME_CLIPBOARD_STATE_ON: > > + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON; > > + case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF: > > + return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF; > > + default: > > + break; > > + } > > + return 0; > > +} > > + > > +static Ecore_X_Illume_Clipboard_State > > +_ecore_x_e_clipboard_state_get(Ecore_X_Atom atom) > > +{ > > + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON) > > + return ECORE_X_ILLUME_CLIPBOARD_STATE_ON; > > + > > + if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF) > > + return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF; > > + > > + return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN; > > +} > > + > > EAPI void > > +ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win, > > + Ecore_X_Illume_Clipboard_State state) > > +{ > > + Ecore_X_Atom atom = 0; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + atom = _ecore_x_e_clipboard_atom_get(state); > > + > > + ecore_x_window_prop_atom_set(win, > > + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, > > + &atom, 1); > > +} > > + > > +EAPI Ecore_X_Illume_Clipboard_State > > +ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win) > > +{ > > + Ecore_X_Atom atom = 0; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + > > + if (!ecore_x_window_prop_atom_get(win, > > + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE, > > + &atom, 1)) > > + return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN; > > + return _ecore_x_e_clipboard_state_get(atom); > > +} > > + > > +EAPI void > > +ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win, > > + int x, int y, int w, int h) > > +{ > > + unsigned int geom[4]; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + geom[0] = x; > > + geom[1] = y; > > + geom[2] = w; > > + geom[3] = h; > > + ecore_x_window_prop_card32_set(win, > > + ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, > > + geom, 4); > > +} > > + > > +EAPI Eina_Bool > > +ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win, > > + int *x, int *y, int *w, int *h) > > +{ > > + int ret = 0; > > + unsigned int geom[4]; > > + > > + LOGFN(__FILE__, __LINE__, __FUNCTION__); > > + ret = > > + ecore_x_window_prop_card32_get(win, > > + > > ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY, > > + geom, 4); > > + if (ret != 4) return EINA_FALSE; > > + > > + if (x) *x = geom[0]; > > + if (y) *y = geom[1]; > > + if (w) *w = geom[2]; > > + if (h) *h = geom[3]; > > + > > + return EINA_TRUE; > > +} > > + > > +EAPI void > > ecore_x_e_comp_sync_counter_set(Ecore_X_Window win, > > Ecore_X_Sync_Counter counter) > > { > > > > > > ------------------------------------------------------------------------------ > > Virtualization & Cloud Management Using Capacity Planning > > Cloud computing makes use of virtualization - but cloud computing > > also focuses on allowing computing to be delivered as a service. > > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > > _______________________________________________ > > enlightenment-svn mailing list > > enlightenment-...@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel