From: Stefan Weil <sw@weilnetz.de>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 6/8] gtk: add support for screen scaling and full screen (v2)
Date: Mon, 27 Feb 2012 21:10:28 +0100 [thread overview]
Message-ID: <4F4BE334.7050504@weilnetz.de> (raw)
In-Reply-To: <1330299995-8688-7-git-send-email-aliguori@us.ibm.com>
Am 27.02.2012 00:46, schrieb Anthony Liguori:
> Basic menu items to enter full screen mode and zoom in/out. Unlike SDL, we
> don't allow arbitrary scaling based on window resizing. The current
> behavior
> with SDL causes a lot of problems for me.
>
> Sometimes I accidentally resize the window a tiny bit while trying to
> move it
> (Ubuntu's 1-pixel window decorations don't help here). After that,
> scaling is
> now active and if the screen changes size again, badness ensues since the
> aspect ratio is skewed.
>
> Allowing zooming by 25% in and out should cover most use cases. We can
> add a
> more flexible scaling later but for now, I think this is a more friendly
> behavior.
>
> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
> ---
> v1 -> v2
> - fix scaling (Paolo)
> - use ctrl-alt-+ instead of ctrl-alt-= for zoom
> ---
> ui/gtk.c | 92
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
> 1 files changed, 88 insertions(+), 4 deletions(-)
>
> diff --git a/ui/gtk.c b/ui/gtk.c
> index 0dac807..578cb94 100644
> --- a/ui/gtk.c
> +++ b/ui/gtk.c
[...]
>
> + s->full_screen_item = gtk_check_menu_item_new_with_mnemonic("_Full
> Screen");
I suggest using the GTK standard widget GTK_STOCK_FULLSCREEN here.
That's not a check menu item, so some more changes will be needed.
Full screen mode does not need a check menu item, because you only
see the menu item when it is not in full screen mode.
> + gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->full_screen_item),
> + "<QEMU>/View/Full Screen");
> + gtk_accel_map_add_entry("<QEMU>/View/Full Screen", GDK_KEY_f,
> GDK_CONTROL_MASK | GDK_MOD1_MASK);
> + gtk_menu_append(GTK_MENU(s->view_menu), s->full_screen_item);
> +
> + separator = gtk_separator_menu_item_new();
> + gtk_menu_append(GTK_MENU(s->view_menu), separator);
> +
> + s->zoom_in_item =
> gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_IN, NULL);
> + gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->zoom_in_item),
> + "<QEMU>/View/Zoom In");
> + gtk_accel_map_add_entry("<QEMU>/View/Zoom In", GDK_KEY_plus,
> GDK_CONTROL_MASK | GDK_MOD1_MASK);
> + gtk_menu_append(GTK_MENU(s->view_menu), s->zoom_in_item);
> +
> + s->zoom_out_item =
> gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_OUT, NULL);
> + gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->zoom_out_item),
> + "<QEMU>/View/Zoom Out");
> + gtk_accel_map_add_entry("<QEMU>/View/Zoom Out", GDK_KEY_minus,
> GDK_CONTROL_MASK | GDK_MOD1_MASK);
> + gtk_menu_append(GTK_MENU(s->view_menu), s->zoom_out_item);
> +
> separator = gtk_separator_menu_item_new();
> gtk_menu_append(GTK_MENU(s->view_menu), separator);
>
As was already said, GTK_STOCK_ZOOM_100 with accelerator GDK_KEY_0
would complete the zooming menu entries.
In your previous patch, you scaled s->scale_x *= 1.25 (which was correct)
and s->scale_x *= 0.75 (which should have been s->scale_x *= 0.8).
Why do you now use s->scale_x += .25, s->scale_x -= .25?
Linear scaling is uncommon and not what I'd expect when I read
25 % zooming in / out. I know that SDL also uses linear scaling,
but GTK wants to be better than SDL.
Regards,
Stefan Weil
next prev parent reply other threads:[~2012-02-27 20:10 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-26 23:46 [Qemu-devel] [PATCH 0/8] Add GTK UI to enable basic accessibility (v2) Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 1/8] console: allow VCs to be overridden by UI Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 2/8] chr: check to see if front end has registered a read function Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 3/8] ui: add basic GTK gui (v2) Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 4/8] gtk: add virtual console support (v2) Anthony Liguori
2012-02-27 10:45 ` Kevin Wolf
2012-02-26 23:46 ` [Qemu-devel] [PATCH 5/8] gtk: add support for input grabbing Anthony Liguori
2012-02-26 23:46 ` [Qemu-devel] [PATCH 6/8] gtk: add support for screen scaling and full screen (v2) Anthony Liguori
2012-02-27 20:10 ` Stefan Weil [this message]
2012-02-27 22:01 ` Anthony Liguori
2012-02-28 14:18 ` Kevin Wolf
2012-02-26 23:46 ` [Qemu-devel] [PATCH 7/8] gtk: add translation support Anthony Liguori
2012-02-27 8:32 ` Paolo Bonzini
2012-02-27 13:11 ` Anthony Liguori
2012-02-28 15:10 ` Kevin Wolf
2012-02-27 22:09 ` Stefan Weil
2012-02-26 23:46 ` [Qemu-devel] [PATCH 8/8] gtk: make default UI Anthony Liguori
2012-02-27 7:23 ` [Qemu-devel] [PATCH 0/8] Add GTK UI to enable basic accessibility (v2) malc
2012-02-27 8:21 ` Jan Kiszka
2012-02-27 13:10 ` Anthony Liguori
2012-02-27 13:26 ` Jan Kiszka
2012-02-27 13:33 ` Anthony Liguori
2012-02-27 13:42 ` Jan Kiszka
2012-02-27 13:50 ` Anthony Liguori
2012-02-27 13:54 ` Jan Kiszka
2012-02-27 16:39 ` Gerd Hoffmann
2012-02-27 16:44 ` Anthony Liguori
2012-02-27 16:54 ` Gerd Hoffmann
2012-02-27 14:24 ` Kevin Wolf
2012-02-27 14:39 ` Anthony Liguori
2012-02-27 15:03 ` Kevin Wolf
2012-03-11 17:29 ` Stefan Weil
2012-03-11 18:24 ` François Revol
2012-03-11 18:47 ` Stefan Weil
2012-03-12 2:31 ` Anthony Liguori
2012-03-12 16:39 ` François Revol
2012-03-12 17:13 ` Anthony Liguori
2012-03-12 2:30 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F4BE334.7050504@weilnetz.de \
--to=sw@weilnetz.de \
--cc=aliguori@us.ibm.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.