[Xfce4-commits] [apps/xfce4-screenshooter] 12/38: Replace gdk_draw_rectangle for selection mode (non-compositing)

noreply at xfce.org noreply at xfce.org
Fri Apr 28 03:07:08 CEST 2017


This is an automated email from the git hooks/post-receive script.

andre pushed a commit to branch master
in repository apps/xfce4-screenshooter.

commit 97ce9ad17127c80138ef807fe21f5e70ac1d7f3f
Author: Andre Miranda <andre42m at gmail.com>
Date:   Sun Feb 12 16:32:51 2017 -0300

    Replace gdk_draw_rectangle for selection mode (non-compositing)
---
 lib/screenshooter-capture.c | 71 ++++++++++++++++++++-------------------------
 1 file changed, 31 insertions(+), 40 deletions(-)

diff --git a/lib/screenshooter-capture.c b/lib/screenshooter-capture.c
index 46c2bc6..784d40a 100644
--- a/lib/screenshooter-capture.c
+++ b/lib/screenshooter-capture.c
@@ -808,20 +808,17 @@ region_filter_func (GdkXEvent *xevent, GdkEvent *event, RbData *rbdata)
       case XI_ButtonRelease:
         if (rbdata->pressed)
           {
-            if (rbdata->rectangle.width > 0 &&
-                rbdata->rectangle.height > 0)
+            if (rbdata->rectangle.width > 0 && rbdata->rectangle.height > 0)
               {
                 /* Remove the rectangle drawn previously */
 
                 TRACE ("Remove the rectangle drawn previously");
-
-                gdk_draw_rectangle (rbdata->root_window,
-                                    rbdata->gc,
-                                    FALSE,
-                                    rbdata->rectangle.x,
-                                    rbdata->rectangle.y,
-                                    rbdata->rectangle.width,
-                                    rbdata->rectangle.height);
+                cairo_rectangle (rbdata->cr,
+                                 rbdata->rectangle.x,
+                                 rbdata->rectangle.y,
+                                 rbdata->rectangle.width,
+                                 rbdata->rectangle.height);
+                cairo_stroke(rbdata->cr);
 
                 gtk_main_quit ();
               }
@@ -843,19 +840,17 @@ region_filter_func (GdkXEvent *xevent, GdkEvent *event, RbData *rbdata)
           {
             TRACE ("Mouse is moving");
 
-            if (rbdata->rectangle.width > 0 &&
-                rbdata->rectangle.height > 0)
+            if (rbdata->rectangle.width > 0 && rbdata->rectangle.height > 0)
               {
                 /* Remove the rectangle drawn previously */
-
                 TRACE ("Remove the rectangle drawn previously");
-                gdk_draw_rectangle (rbdata->root_window,
-                                    rbdata->gc,
-                                    FALSE,
-                                    rbdata->rectangle.x,
-                                    rbdata->rectangle.y,
-                                    rbdata->rectangle.width,
-                                    rbdata->rectangle.height);
+
+                cairo_rectangle (rbdata->cr,
+                                 rbdata->rectangle.x,
+                                 rbdata->rectangle.y,
+                                 rbdata->rectangle.width,
+                                 rbdata->rectangle.height);
+                cairo_stroke(rbdata->cr);
               }
 
             device_event = (XIDeviceEvent*) x_event->xcookie.data;
@@ -869,15 +864,15 @@ region_filter_func (GdkXEvent *xevent, GdkEvent *event, RbData *rbdata)
 
             /* Draw  the rectangle as the user drags the mouse */
             TRACE ("Draw the new rectangle");
-            if (rbdata->rectangle.width > 0 &&
-                rbdata->rectangle.height > 0)
-              gdk_draw_rectangle (rbdata->root_window,
-                                  rbdata->gc,
-                                  FALSE,
-                                  rbdata->rectangle.x,
-                                  rbdata->rectangle.y,
-                                  rbdata->rectangle.width,
-                                  rbdata->rectangle.height);
+            if (rbdata->rectangle.width > 0 && rbdata->rectangle.height > 0)
+              {
+                cairo_rectangle (rbdata->cr,
+                                 rbdata->rectangle.x,
+                                 rbdata->rectangle.y,
+                                 rbdata->rectangle.width,
+                                 rbdata->rectangle.height);
+                cairo_stroke(rbdata->cr);
+              }
           }
         return GDK_FILTER_REMOVE;
         break;
@@ -891,20 +886,16 @@ region_filter_func (GdkXEvent *xevent, GdkEvent *event, RbData *rbdata)
 
             if (rbdata->pressed)
               {
-                if (rbdata->rectangle.width > 0 &&
-                    rbdata->rectangle.height > 0)
+                if (rbdata->rectangle.width > 0 && rbdata->rectangle.height > 0)
                   {
                     /* Remove the rectangle drawn previously */
-
                     TRACE ("Remove the rectangle drawn previously");
-
-                    gdk_draw_rectangle (rbdata->root_window,
-                                        rbdata->gc,
-                                        FALSE,
-                                        rbdata->rectangle.x,
-                                        rbdata->rectangle.y,
-                                        rbdata->rectangle.width,
-                                        rbdata->rectangle.height);
+                    cairo_rectangle (rbdata->cr,
+                                     rbdata->rectangle.x,
+                                     rbdata->rectangle.y,
+                                     rbdata->rectangle.width,
+                                     rbdata->rectangle.height);
+                    cairo_stroke (rbdata->cr);
                   }
               }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list