Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

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


Modified Files:
        ecore_evas_x.c 


Log Message:


allow optimisation for shaped windows that use damag avoid

===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_evas/ecore_evas_x.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- ecore_evas_x.c      19 Apr 2006 07:27:52 -0000      1.79
+++ ecore_evas_x.c      18 Jun 2006 02:19:21 -0000      1.80
@@ -196,8 +196,41 @@
               }
             if (ee->engine.x.damages)
               {
+                 /* if we have a damage pixmap - we can avoid exposures by
+                  * disabling them just for setting the mask */
+                 ecore_x_window_shape_events_select(ee->engine.x.win, 
+                                                    
ECORE_X_EVENT_MASK_KEY_DOWN |
+                                                    ECORE_X_EVENT_MASK_KEY_UP |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_DOWN |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_UP |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_IN |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_OUT |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_MOVE |
+//                                                  
ECORE_X_EVENT_MASK_WINDOW_DAMAGE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_VISIBILITY |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_PROPERTY |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_COLORMAP
+                                                    );
                  if ((ee->shaped) && (updates))
                    ecore_x_window_shape_mask_set(ee->engine.x.win, 
ee->engine.x.mask);
+                 /* and re-enable them again */
+                 ecore_x_window_shape_events_select(ee->engine.x.win, 
+                                                    
ECORE_X_EVENT_MASK_KEY_DOWN |
+                                                    ECORE_X_EVENT_MASK_KEY_UP |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_DOWN |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_UP |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_IN |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_OUT |
+                                                    
ECORE_X_EVENT_MASK_MOUSE_MOVE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_DAMAGE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_VISIBILITY |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_CONFIGURE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_FOCUS_CHANGE |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_PROPERTY |
+                                                    
ECORE_X_EVENT_MASK_WINDOW_COLORMAP
+                                                    );
                  XSetRegion(ecore_x_display_get(), ee->engine.x.gc, 
ee->engine.x.damages);
                  /* debug rendering */
                  /*              




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to