[gtk+] gdkwindow: Clean up code



commit 7fefd211b87017f0860117c2fc70a36b90708311
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sat Jun 21 10:16:14 2014 -0400

    gdkwindow: Clean up code
    
    Introduce a temporary to make the code a bit more clear under these cases.

 gdk/gdkwindow.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
---
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 1a3966b..dd21713 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2818,6 +2818,7 @@ gdk_window_end_paint (GdkWindow *window)
   if (window->current_paint.surface_needs_composite)
     {
       cairo_surface_t *surface;
+      gboolean skip_alpha_blending;
 
       cairo_region_get_extents (window->current_paint.region, &clip_box);
       full_clip = cairo_region_copy (window->clip_region);
@@ -2831,8 +2832,12 @@ gdk_window_end_paint (GdkWindow *window)
       gdk_cairo_region (cr, full_clip);
       cairo_clip (cr);
 
-      if (gdk_window_has_impl (window) ||
-          window->alpha == 255)
+      /* We can skip alpha blending for a fast composite case
+       * if we have an impl window or we're a fully opaque window. */
+      skip_alpha_blending = (gdk_window_has_impl (window) ||
+                             window->alpha == 255);
+
+      if (skip_alpha_blending)
         {
           cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
           cairo_paint (cr);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]