summaryrefslogtreecommitdiff
path: root/frontends/framebuffer
diff options
context:
space:
mode:
authorMichael Drake <michael.drake@codethink.co.uk>2019-08-03 11:00:09 +0100
committerMichael Drake <michael.drake@codethink.co.uk>2019-08-03 11:00:09 +0100
commit3a4477413a62ef928c26c4137dfc6668d22df297 (patch)
tree0a6e1eb236026f6c576bd9aec93d98cd58fa6bab /frontends/framebuffer
parentacad436d681d49d87056f43847e5712848693404 (diff)
downloadnetsurf-3a4477413a62ef928c26c4137dfc6668d22df297.tar.gz
netsurf-3a4477413a62ef928c26c4137dfc6668d22df297.tar.bz2
Framebuffer: Add keyboard controls for scaling.
Diffstat (limited to 'frontends/framebuffer')
-rw-r--r--frontends/framebuffer/gui.c34
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;