diff options
author | Daniel Friesel <derf@derf.homelinux.org> | 2010-08-14 10:47:41 +0200 |
---|---|---|
committer | Daniel Friesel <derf@derf.homelinux.org> | 2010-08-14 10:47:41 +0200 |
commit | ccbebcbd7adf0663cae9a04b44f094163a3fd157 (patch) | |
tree | a683df9359678b50fb704c300754af0364bab7fc /src | |
parent | eb06701eb3e2b22a156a8a7370dcdda3d3e1d4be (diff) |
Add up arrow / down arrow for zooming
Diffstat (limited to 'src')
-rw-r--r-- | src/keyevents.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/keyevents.c b/src/keyevents.c index b3d48d1..6a5a2d0 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -258,17 +258,20 @@ void feh_event_handle_keypress(XEvent * ev) winwidget_render_image(winwid, 0, 0); break; case XK_KP_Add: + case XK_Up: /* erroneously recognized as '+' in the *kbuf switch. Work around this. */ len = 0; winwid->zoom = winwid->zoom * 1.25; - winwidget_sanitise_offsets(winwid); - winwidget_render_image(winwid, 0, 0); + /* TODO: Center only around current view */ + winwidget_center_image(winwid); + winwidget_render_image(winwid, 0, 1); break; case XK_KP_Subtract: + case XK_Down: len = 0; winwid->zoom = winwid->zoom * 0.75; - winwidget_sanitise_offsets(winwid); - winwidget_render_image(winwid, 0, 0); + winwidget_center_image(winwid); + winwidget_render_image(winwid, 0, 1); break; case XK_KP_Multiply: len = 0; |