[gegl] gegl-binary: add scroll-wheel based zoom
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] gegl-binary: add scroll-wheel based zoom
- Date: Wed, 9 Mar 2016 16:31:31 +0000 (UTC)
commit 24d590929c9c6f691f8514d4cf8e819bcffa83f7
Author: Øyvind Kolås <pippin gimp org>
Date: Wed Mar 9 17:30:08 2016 +0100
gegl-binary: add scroll-wheel based zoom
For now zooming in/out on center, a XXX comment has been added that this
zooming should happend around mouse cursor.
bin/ui.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/bin/ui.c b/bin/ui.c
index c749e68..3433546 100644
--- a/bin/ui.c
+++ b/bin/ui.c
@@ -893,6 +893,15 @@ static int slide_cb (Mrg *mrg, void *data)
return 0;
}
+static void scroll_cb (MrgEvent *event, void *data1, void *data2)
+{
+ /* XXX: should zoom in/out around cursor (event->x , event->y) */
+ if (event->scroll_direction)
+ zoom_out_cb (event, data1, data2);
+ else
+ zoom_in_cb (event, data1, data2);
+}
+
static void ui_viewer (State *o)
{
Mrg *mrg = o->mrg;
@@ -900,6 +909,9 @@ static void ui_viewer (State *o)
cairo_rectangle (cr, 0,0, mrg_width(mrg), mrg_height(mrg));
mrg_listen (mrg, MRG_DRAG, on_pan_drag, o, NULL);
mrg_listen (mrg, MRG_MOTION, on_viewer_motion, o, NULL);
+
+ mrg_listen (mrg, MRG_SCROLL, scroll_cb, o, NULL);
+
cairo_scale (cr, mrg_width(mrg), mrg_height(mrg));
cairo_new_path (cr);
cairo_rectangle (cr, 0.05, 0.05, 0.05, 0.05);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]