diff options
author | Michael Drake <michael.drake@codethink.co.uk> | 2019-08-03 11:00:09 +0100 |
---|---|---|
committer | Michael Drake <michael.drake@codethink.co.uk> | 2019-08-03 11:00:09 +0100 |
commit | 3a4477413a62ef928c26c4137dfc6668d22df297 (patch) | |
tree | 0a6e1eb236026f6c576bd9aec93d98cd58fa6bab /frontends | |
parent | acad436d681d49d87056f43847e5712848693404 (diff) | |
download | netsurf-3a4477413a62ef928c26c4137dfc6668d22df297.tar.gz netsurf-3a4477413a62ef928c26c4137dfc6668d22df297.tar.bz2 |
Framebuffer: Add keyboard controls for scaling.
Diffstat (limited to 'frontends')
-rw-r--r-- | frontends/framebuffer/gui.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/frontends/framebuffer/gui.c b/frontends/framebuffer/gui.c index 74f6100a5..6cbcca85d 100644 --- a/frontends/framebuffer/gui.c +++ b/frontends/framebuffer/gui.c @@ -910,6 +910,40 @@ fb_browser_window_input(fbtk_widget_t *widget, fbtk_callback_info *cbi) widget_scroll_y(gw, 100, false); break; + case NSFB_KEY_MINUS: + if (modifier & FBTK_MOD_RCTRL || + modifier & FBTK_MOD_LCTRL) { + float scale = browser_window_get_scale(gw->bw); + scale -= 0.1; + if (scale < 0.1) { + scale = 0.1; + } + if (scale > 0.95 && scale < 1.05) { + scale = 1; + } + browser_window_set_scale(gw->bw, scale, true); + } + break; + + case NSFB_KEY_EQUALS: /* PLUS */ + if (modifier & FBTK_MOD_RCTRL || + modifier & FBTK_MOD_LCTRL) { + float scale = browser_window_get_scale(gw->bw); + scale += 0.1; + if (scale > 0.95 && scale < 1.05) { + scale = 1; + } + browser_window_set_scale(gw->bw, scale, true); + } + break; + + case NSFB_KEY_0: /* PLUS */ + if (modifier & FBTK_MOD_RCTRL || + modifier & FBTK_MOD_LCTRL) { + browser_window_set_scale(gw->bw, 1, true); + } + break; + case NSFB_KEY_RSHIFT: modifier |= FBTK_MOD_RSHIFT; break; |