From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Anthony Liguori" <aliguori@us.ibm.com>,
"Brad Hards" <bradh@frogmouth.net>,
"Luiz Capitulino" <lcapitulino@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Ludwig Nussel" <lnussel@suse.de>,
"Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PATCH RFC 2/8] ui/input: Simplify kbd_mouse_event()
Date: Sun, 16 Jun 2013 05:39:59 +0200 [thread overview]
Message-ID: <1371354005-26873-3-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1371354005-26873-1-git-send-email-afaerber@suse.de>
Now that the field names are bearable, there's no compelling reason to
use local variables for the fields.
Unify the four callback invokations through variables for the rotated
coordinates instead.
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
ui/input.c | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/ui/input.c b/ui/input.c
index badf6c3..28353b4 100644
--- a/ui/input.c
+++ b/ui/input.c
@@ -431,9 +431,8 @@ void kbd_put_ledstate(int ledstate)
void kbd_mouse_event(int dx, int dy, int dz, int buttons_state)
{
QEMUPutMouseEntry *entry;
- QEMUPutMouseEvent *mouse_event;
- void *mouse_event_opaque;
int width, height;
+ int rotated_dx, rotated_dy;
if (!runstate_is_running() && !runstate_check(RUN_STATE_SUSPENDED)) {
return;
@@ -444,10 +443,7 @@ void kbd_mouse_event(int dx, int dy, int dz, int buttons_state)
entry = QTAILQ_FIRST(&mouse_handlers);
- mouse_event = entry->put_event;
- mouse_event_opaque = entry->opaque;
-
- if (mouse_event) {
+ if (entry->put_event) {
if (entry->absolute) {
width = 0x7fff;
height = 0x7fff;
@@ -458,22 +454,26 @@ void kbd_mouse_event(int dx, int dy, int dz, int buttons_state)
switch (graphic_rotate) {
case 0:
- mouse_event(mouse_event_opaque,
- dx, dy, dz, buttons_state);
+ rotated_dx = dx;
+ rotated_dy = dy;
break;
case 90:
- mouse_event(mouse_event_opaque,
- width - dy, dx, dz, buttons_state);
+ rotated_dx = width - dy;
+ rotated_dy = dx;
break;
case 180:
- mouse_event(mouse_event_opaque,
- width - dx, height - dy, dz, buttons_state);
+ rotated_dx = width - dx;
+ rotated_dy = height - dy;
break;
case 270:
- mouse_event(mouse_event_opaque,
- dy, height - dx, dz, buttons_state);
+ rotated_dx = dy;
+ rotated_dy = height - dx;
break;
+ default:
+ return;
}
+ entry->put_event(entry->opaque,
+ rotated_dx, rotated_dy, dz, buttons_state);
}
}
--
1.8.1.4
next prev parent reply other threads:[~2013-06-16 3:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-16 3:39 [Qemu-devel] [PATCH RFC 0/8] monitor: Fix mouse_button and improve mouse_move commands Andreas Färber
2013-06-16 3:39 ` [Qemu-devel] [PATCH RFC 1/8] ui/input: Clean up QEMUPutMouseEntry struct Andreas Färber
2013-06-17 7:17 ` Gerd Hoffmann
2013-06-16 3:39 ` Andreas Färber [this message]
2013-06-17 7:17 ` [Qemu-devel] [PATCH RFC 2/8] ui/input: Simplify kbd_mouse_event() Gerd Hoffmann
2013-06-16 3:40 ` [Qemu-devel] [PATCH RFC 3/8] ui/input: Use bool for qemu_add_mouse_event_handler() Andreas Färber
2013-06-16 3:40 ` [Qemu-devel] [PATCH RFC 4/8] ui/input: Introduce MouseOps " Andreas Färber
2013-06-17 7:20 ` Gerd Hoffmann
2013-06-16 3:40 ` [Qemu-devel] [PATCH RFC 5/8] ui/input: Introduce MouseOps::get_buttons_state() Andreas Färber
2013-06-16 3:40 ` [Qemu-devel] [PATCH RFC 6/8] monitor: Eliminate global mouse buttons state for mouse_move Andreas Färber
2013-06-16 3:40 ` [Qemu-devel] [PATCH RFC 7/8] ui/input: Introduce MouseOps::get_position() Andreas Färber
2013-06-16 3:40 ` [Qemu-devel] [PATCH RFC 8/8] monitor: Fix mouse_button command for absolute coordinates Andreas Färber
2013-06-17 7:16 ` [Qemu-devel] [PATCH RFC 0/8] monitor: Fix mouse_button and improve mouse_move commands Gerd Hoffmann
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=1371354005-26873-3-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=aliguori@us.ibm.com \
--cc=bradh@frogmouth.net \
--cc=kraxel@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=lnussel@suse.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).