Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

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


Modified Files:
        Ecore_X.h ecore_x_window.c 


Log Message:


another handy routine...
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -3 -r1.161 -r1.162
--- Ecore_X.h   8 Mar 2006 08:02:55 -0000       1.161
+++ Ecore_X.h   8 Mar 2006 10:01:42 -0000       1.162
@@ -1013,6 +1013,8 @@
                  
 EAPI Ecore_X_Window   ecore_x_window_new(Ecore_X_Window parent, int x, int y, 
int w, int h);
 EAPI Ecore_X_Window   ecore_x_window_override_new(Ecore_X_Window parent, int 
x, int y, int w, int h);
+EAPI int              ecore_x_window_argb_get(Ecore_X_Window win);
+EAPI Ecore_X_Window   ecore_x_window_manager_argb_new(Ecore_X_Window parent, 
int x, int y, int w, int h);
 EAPI Ecore_X_Window   ecore_x_window_argb_new(Ecore_X_Window parent, int x, 
int y, int w, int h);
 EAPI Ecore_X_Window   ecore_x_window_override_argb_new(Ecore_X_Window parent, 
int x, int y, int w, int h);
 EAPI Ecore_X_Window   ecore_x_window_input_new(Ecore_X_Window parent, int x, 
int y, int w, int h);
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window.c,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -3 -r1.49 -r1.50
--- ecore_x_window.c    8 Mar 2006 08:54:36 -0000       1.49
+++ ecore_x_window.c    8 Mar 2006 10:01:42 -0000       1.50
@@ -888,7 +888,7 @@
 
 #ifdef ECORE_XRENDER   
 static Ecore_X_Window
-_ecore_x_window_argb_internal_new(Ecore_X_Window parent, int x, int y, int w, 
int h, int override)
+_ecore_x_window_argb_internal_new(Ecore_X_Window parent, int x, int y, int w, 
int h, int override, int saveunder)
 {
    Window                win;
    XSetWindowAttributes  attr;
@@ -947,7 +947,7 @@
    attr.background_pixmap     = None;
    attr.bit_gravity           = NorthWestGravity;
    attr.win_gravity           = NorthWestGravity;
-   attr.save_under            = False;
+   attr.save_under            = saveunder;
    attr.do_not_propagate_mask = NoEventMask;
    attr.event_mask            = KeyPressMask |
                                 KeyReleaseMask |
@@ -985,6 +985,44 @@
 }
 #endif
 
+EAPI int
+ecore_x_window_argb_get(Ecore_X_Window win)
+{
+#ifdef ECORE_XRENDER   
+   XWindowAttributes att;
+   XRenderPictFormat *fmt;
+   
+   XGetWindowAttributes(_ecore_x_disp, win, &att);
+   fmt = XRenderFindVisualFormat(_ecore_x_disp, att.visual);
+   if (!fmt) return 0;
+   if ((fmt->type == PictTypeDirect) && (fmt->direct.alphaMask)) return 1;
+   return 0;
+#else
+   return 0;
+#endif   
+}
+
+/**
+ * Creates a new window.
+ * @param   parent The parent window to use.  If @p parent is @c 0, the root
+ *                 window of the default display is used.
+ * @param   x      X position.
+ * @param   y      Y position.
+ * @param   w      Width.
+ * @param   h      Height.
+ * @return  The new window handle.
+ * @ingroup Ecore_X_Window_Create_Group
+ */
+EAPI Ecore_X_Window
+ecore_x_window_manager_argb_new(Ecore_X_Window parent, int x, int y, int w, 
int h)
+{
+#ifdef ECORE_XRENDER   
+   return _ecore_x_window_argb_internal_new(parent, x, y, w, h, 1, 0);
+#else
+   return 0;
+#endif   
+}
+
 /**
  * Creates a new window.
  * @param   parent The parent window to use.  If @p parent is @c 0, the root
@@ -1000,7 +1038,7 @@
 ecore_x_window_argb_new(Ecore_X_Window parent, int x, int y, int w, int h)
 {
 #ifdef ECORE_XRENDER   
-   return _ecore_x_window_argb_internal_new(parent, x, y, w, h, 0);
+   return _ecore_x_window_argb_internal_new(parent, x, y, w, h, 0, 0);
 #else
    return 0;
 #endif   
@@ -1021,7 +1059,7 @@
 ecore_x_window_override_argb_new(Ecore_X_Window parent, int x, int y, int w, 
int h)
 {
 #ifdef ECORE_XRENDER   
-   return _ecore_x_window_argb_internal_new(parent, x, y, w, h, 1);
+   return _ecore_x_window_argb_internal_new(parent, x, y, w, h, 1, 0);
 #else
    return 0;
 #endif   




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to