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

Reply via email to