qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 13/15] sdl: Add zoom hot keys


From: Jan Kiszka
Subject: [Qemu-devel] [PATCH 13/15] sdl: Add zoom hot keys
Date: Sat, 30 Jul 2011 11:39:16 +0200

From: Jan Kiszka <address@hidden>

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 <address@hidden>
Signed-off-by: Jan Kiszka <address@hidden>
---
 qemu-doc.texi |    8 ++++++++
 ui/sdl.c      |   13 +++++++++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/qemu-doc.texi b/qemu-doc.texi
index 47e1991..31199f6 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -288,6 +288,14 @@ then the modifier is Ctrl-Alt-Shift (instead of Ctrl-Alt) 
and if you use
 @kindex Ctrl-Alt-f
 Toggle full screen
 
address@hidden Ctrl-Alt-+
address@hidden Ctrl-Alt-+
+Enlarge the screen
+
address@hidden Ctrl-Alt--
address@hidden Ctrl-Alt--
+Shrink the screen
+
 @item Ctrl-Alt-u
 @kindex Ctrl-Alt-u
 Restore the screen's un-scaled dimensions
diff --git a/ui/sdl.c b/ui/sdl.c
index e8ac3bb..fc63c8e 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;
                     }
-- 
1.7.3.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]