aboutsummaryrefslogtreecommitdiff
path: root/ui/sdl.c
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2011-07-30 11:39:16 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2011-08-05 10:57:35 -0500
commitd6a65ba333ce3af34721e1452a1206233ac2a3e5 (patch)
tree6df77a59ddf49c1e6876f56164c63cf7be94fb00 /ui/sdl.c
parent35b0f237205dc6a5c9aa3eae14f19ef4d37dafcd (diff)
sdl: Add zoom hot keys
Allow to enlarge or shrink the screen via CTRL-ALT-+/-. In contrast to scaling the window, these controls always preserve the aspect ratio of the current console. CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'ui/sdl.c')
-rw-r--r--ui/sdl.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ui/sdl.c b/ui/sdl.c
index e8ac3bb65b..fc63c8eec5 100644
--- a/ui/sdl.c
+++ b/ui/sdl.c
@@ -651,6 +651,19 @@ static void sdl_refresh(DisplayState *ds)
absolute_mouse_grab();
}
break;
+ case 0x1b: /* '+' */
+ case 0x35: /* '-' */
+ if (!gui_fullscreen) {
+ int width = MAX(real_screen->w +
+ (keycode == 0x1b ? 50 : -50), 160);
+ int height = (ds_get_height(ds) * width) /
+ ds_get_width(ds);
+
+ sdl_scale(ds, width, height);
+ vga_hw_invalidate();
+ vga_hw_update();
+ gui_keysym = 1;
+ }
default:
break;
}