Updating branch refs/heads/master
         to 97a169c4755d83c6ae626439d426cd7f994e2147 (commit)
       from 89127b8c5899ba151bfced6f61e353042ad5e9b7 (commit)

commit 97a169c4755d83c6ae626439d426cd7f994e2147
Author: Stephan Arts <[email protected]>
Date:   Sun Dec 18 09:16:04 2011 +0100

    Limit move and zoom selection to the inside of the image-frame.

 src/image_viewer.c |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/image_viewer.c b/src/image_viewer.c
index 702df06..6a58052 100644
--- a/src/image_viewer.c
+++ b/src/image_viewer.c
@@ -2155,19 +2155,31 @@ rstto_button_press_event (
         {
             if (!(event->state & (GDK_CONTROL_MASK)))
             {
-                GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR);
-                gdk_window_set_cursor(widget->window, cursor);
-                gdk_cursor_unref(cursor);
-                rstto_image_viewer_set_motion_state (viewer, 
RSTTO_IMAGE_VIEWER_MOTION_STATE_MOVE);
+                if ( (event->x > viewer->priv->rendering.x_offset) &&
+                     (event->y > viewer->priv->rendering.y_offset) &&
+                     (event->y < (viewer->priv->rendering.y_offset + 
viewer->priv->rendering.height)) &&
+                     (event->x < (viewer->priv->rendering.x_offset + 
viewer->priv->rendering.width)))
+                {
+                    GdkCursor *cursor = gdk_cursor_new(GDK_FLEUR);
+                    gdk_window_set_cursor(widget->window, cursor);
+                    gdk_cursor_unref(cursor);
+                    rstto_image_viewer_set_motion_state (viewer, 
RSTTO_IMAGE_VIEWER_MOTION_STATE_MOVE);
+                }
             }
 
             if (event->state & GDK_CONTROL_MASK)
             {
-                GdkCursor *cursor = gdk_cursor_new(GDK_UL_ANGLE);
-                gdk_window_set_cursor(widget->window, cursor);
-                gdk_cursor_unref(cursor);
+                if ( (event->x > viewer->priv->rendering.x_offset) &&
+                     (event->y > viewer->priv->rendering.y_offset) &&
+                     (event->y < (viewer->priv->rendering.y_offset + 
viewer->priv->rendering.height)) &&
+                     (event->x < (viewer->priv->rendering.x_offset + 
viewer->priv->rendering.width)))
+                {
+                    GdkCursor *cursor = gdk_cursor_new(GDK_UL_ANGLE);
+                    gdk_window_set_cursor(widget->window, cursor);
+                    gdk_cursor_unref(cursor);
 
-                rstto_image_viewer_set_motion_state (viewer, 
RSTTO_IMAGE_VIEWER_MOTION_STATE_BOX_ZOOM);
+                    rstto_image_viewer_set_motion_state (viewer, 
RSTTO_IMAGE_VIEWER_MOTION_STATE_BOX_ZOOM);
+                }
             }
         }
         return TRUE;
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to