Enlightenment CVS committal

Author  : xcomputerman
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_x


Modified Files:
        Ecore_X.h ecore_x.c ecore_x_pixmap.c ecore_x_window.c 


Log Message:
Added generic functions to fetch geometry, border width
and depth for a drawable, and wrapper functions for windows
and pixmaps (overrides previous commit)

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- Ecore_X.h   21 Feb 2004 21:09:12 -0000      1.38
+++ Ecore_X.h   21 Feb 2004 21:44:48 -0000      1.39
@@ -733,6 +733,8 @@
 void             ecore_x_window_reparent(Ecore_X_Window win, Ecore_X_Window 
new_parent, int x, int y);
 void             ecore_x_window_size_get(Ecore_X_Window win, int *w, int *h);
 void             ecore_x_window_geometry_get(Ecore_X_Window win, int *x, int *y, int 
*w, int *h);
+int              ecore_x_window_border_size_get(Ecore_X_Window win);
+int              ecore_x_window_depth_get(Ecore_X_Window win);
 void             ecore_x_window_cursor_show(Ecore_X_Window win, int show);
 void             ecore_x_window_defaults_set(Ecore_X_Window win);
 
@@ -794,6 +796,8 @@
 Ecore_X_Pixmap   ecore_x_pixmap_new(Ecore_X_Window win, int w, int h, int dep);
 void             ecore_x_pixmap_del(Ecore_X_Pixmap pmap);
 void             ecore_x_pixmap_paste(Ecore_X_Pixmap pmap, Ecore_X_Drawable dest, 
Ecore_X_GC gc, int sx, int sy, int w, int h, int dx, int dy);
+void             ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap, int *x, int *y, int 
*w, int *h);
+int              ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
 
 Ecore_X_GC       ecore_x_gc_new(Ecore_X_Drawable draw);
 void             ecore_x_gc_del(Ecore_X_GC gc);
@@ -801,7 +805,9 @@
    
    
    /* FIXME: these funcs need categorising */
-   
+   void            ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, 
int *w, int *h);
+   int             ecore_x_drawable_border_width_get(Ecore_X_Drawable d);
+   int             ecore_x_drawable_depth_get(Ecore_X_Drawable d);
    Ecore_X_Window *ecore_x_window_root_list(int *num_ret);
    int             ecore_x_window_manage(Ecore_X_Window win);
    void            ecore_x_window_container_manage(Ecore_X_Window win);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- ecore_x.c   21 Feb 2004 08:58:20 -0000      1.30
+++ ecore_x.c   21 Feb 2004 21:44:48 -0000      1.31
@@ -746,6 +746,56 @@
 /* FIXME: these funcs need categorising */
 /*****************************************************************************/
 
+void
+ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h)
+{
+   Window         dummy_win;
+   int            ret_x, ret_y;
+   unsigned int   ret_w, ret_h, dummy_border, dummy_depth;
+
+   if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &ret_x, &ret_y,
+                     &ret_w, &ret_h, &dummy_border, &dummy_depth))
+   {
+      ret_x = 0;
+      ret_y = 0;
+      ret_w = 0;
+      ret_h = 0;
+   }
+
+   if (x) *x = ret_x;
+   if (y) *y = ret_y;
+   if (w) *w = (int) ret_w;
+   if (h) *h = (int) ret_h;
+}
+
+int
+ecore_x_drawable_border_width_get(Ecore_X_Drawable d)
+{
+   Window         dummy_win;
+   int            dummy_x, dummy_y;
+   unsigned int   dummy_w, dummy_h, border_ret, dummy_depth;
+
+   if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
+                     &dummy_w, &dummy_h, &border_ret, &dummy_depth))
+      border_ret = 0;
+
+   return (int) border_ret;
+}
+
+int
+ecore_x_drawable_depth_get(Ecore_X_Drawable d)
+{
+   Window         dummy_win;
+   int            dummy_x, dummy_y;
+   unsigned int   dummy_w, dummy_h, dummy_border, depth_ret;
+
+   if (!XGetGeometry(_ecore_x_disp, d, &dummy_win, &dummy_x, &dummy_y,
+                     &dummy_w, &dummy_h, &dummy_border, &depth_ret))
+      depth_ret = 0;
+
+   return (int) depth_ret;
+}
+
 Ecore_X_Window *
 ecore_x_window_root_list(int *num_ret)
 {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_pixmap.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- ecore_x_pixmap.c    20 Feb 2004 07:06:29 -0000      1.3
+++ ecore_x_pixmap.c    21 Feb 2004 21:44:48 -0000      1.4
@@ -38,3 +38,27 @@
 {
    XCopyArea(_ecore_x_disp, pmap, dest, gc, sx, sy, w, h, dx, dy);
 }
+
+/**
+ * To be documented.
+ *
+ * FIXME: To be fixed.
+ */
+void
+ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h)
+{
+   if (pmap)
+      ecore_x_drawable_geometry_get(pmap, x, y, w, h);
+}
+
+/**
+ * To be documented.
+ *
+ * FIXME: To be fixed.
+ */
+int
+ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap)
+{
+   return ecore_x_drawable_depth_get(pmap);
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- ecore_x_window.c    21 Feb 2004 21:09:13 -0000      1.13
+++ ecore_x_window.c    21 Feb 2004 21:44:48 -0000      1.14
@@ -366,21 +366,12 @@
 void
 ecore_x_window_size_get(Ecore_X_Window win, int *w, int *h)
 {
-   Window dummy_win;
    int dummy_x, dummy_y;
-   unsigned int ret_w, ret_h, dummy_border, dummy_depth;
    
-   if (win == 0) win = DefaultRootWindow(_ecore_x_disp);
-   ret_w = 0;
-   ret_h = 0;
-   if (!XGetGeometry(_ecore_x_disp, win, &dummy_win, &dummy_x, &dummy_y,
-                    &ret_w, &ret_h, &dummy_border, &dummy_depth))
-     {
-       ret_w = 0;
-       ret_h = 0;      
-     }
-   if (w) *w = (int)ret_w;
-   if (h) *h = (int)ret_h;
+   if (win == 0) 
+      win = DefaultRootWindow(_ecore_x_disp);
+
+   ecore_x_drawable_geometry_get(win, &dummy_x, &dummy_y, w, h);
 }
 
 /**
@@ -391,29 +382,34 @@
 void
 ecore_x_window_geometry_get(Ecore_X_Window win, int *x, int *y, int *w, int *h)
 {
-   Window         dummy_win;
-   int            ret_x, ret_y;
-   unsigned int   ret_w, ret_h, dummy_border, dummy_depth;
-
    if (!win)
       win = DefaultRootWindow(_ecore_x_disp);
-   ret_w = 0;
-   ret_h = 0;
-   if (!XGetGeometry(_ecore_x_disp, win, &dummy_win, &ret_x, &ret_y,
-                     &ret_w, &ret_h, &dummy_border, &dummy_depth))
-   {
-      ret_x = 0;
-      ret_y = 0;
-      ret_w = 0;
-      ret_h = 0;
-   }
 
-   if (x) *x = ret_x;
-   if (y) *y = ret_y;
-   if (w) *w = (int) ret_w;
-   if (h) *h = (int) ret_h;
+   ecore_x_drawable_geometry_get(win, x, y, w, h);
 }
-   
+
+/**
+ * To be documented.
+ *
+ * FIXME: To be fixed.
+ */
+int
+ecore_x_window_border_width_get(Ecore_X_Window win)
+{
+   return ecore_x_drawable_border_width_get(win);
+}
+
+/**
+ * To be documented.
+ *
+ * FIXME: To be fixed.
+ */
+int
+ecore_x_window_depth_get(Ecore_X_Window win)
+{
+   return ecore_x_drawable_depth_get(win);
+}
+  
 /**
  * To be documented.
  *




-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to