mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
pxa2xx_lcd: add proper rotation support
Until now, pxa2xx_lcd only supported 90deg rotation, but some machines (for example Zipit Z2) needs 270deg rotation. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
This commit is contained in:
parent
462a8bc646
commit
9312805d33
5 changed files with 144 additions and 22 deletions
34
input.c
34
input.c
|
@ -148,7 +148,7 @@ void kbd_mouse_event(int dx, int dy, int dz, int buttons_state)
|
|||
QEMUPutMouseEntry *entry;
|
||||
QEMUPutMouseEvent *mouse_event;
|
||||
void *mouse_event_opaque;
|
||||
int width;
|
||||
int width, height;
|
||||
|
||||
if (QTAILQ_EMPTY(&mouse_handlers)) {
|
||||
return;
|
||||
|
@ -160,15 +160,31 @@ void kbd_mouse_event(int dx, int dy, int dz, int buttons_state)
|
|||
mouse_event_opaque = entry->qemu_put_mouse_event_opaque;
|
||||
|
||||
if (mouse_event) {
|
||||
if (graphic_rotate) {
|
||||
if (entry->qemu_put_mouse_event_absolute) {
|
||||
width = 0x7fff;
|
||||
} else {
|
||||
width = graphic_width - 1;
|
||||
}
|
||||
mouse_event(mouse_event_opaque, width - dy, dx, dz, buttons_state);
|
||||
if (entry->qemu_put_mouse_event_absolute) {
|
||||
width = 0x7fff;
|
||||
height = 0x7fff;
|
||||
} else {
|
||||
mouse_event(mouse_event_opaque, dx, dy, dz, buttons_state);
|
||||
width = graphic_width - 1;
|
||||
height = graphic_height - 1;
|
||||
}
|
||||
|
||||
switch (graphic_rotate) {
|
||||
case 0:
|
||||
mouse_event(mouse_event_opaque,
|
||||
dx, dy, dz, buttons_state);
|
||||
break;
|
||||
case 90:
|
||||
mouse_event(mouse_event_opaque,
|
||||
width - dy, dx, dz, buttons_state);
|
||||
break;
|
||||
case 180:
|
||||
mouse_event(mouse_event_opaque,
|
||||
width - dx, height - dy, dz, buttons_state);
|
||||
break;
|
||||
case 270:
|
||||
mouse_event(mouse_event_opaque,
|
||||
dy, height - dx, dz, buttons_state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue