[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v4 37/38] console: add QemuUIInfo
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL v4 37/38] console: add QemuUIInfo |
Date: |
Wed, 5 Mar 2014 12:53:39 +0100 |
Signed-off-by: Gerd Hoffmann <address@hidden>
---
include/ui/console.h | 12 ++++++++++++
ui/console.c | 17 +++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/include/ui/console.h b/include/ui/console.h
index b2af53e..08a38ea 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -120,6 +120,14 @@ struct DisplaySurface {
struct PixelFormat pf;
};
+typedef struct QemuUIInfo {
+ /* geometry */
+ int xoff;
+ int yoff;
+ uint32_t width;
+ uint32_t height;
+} QemuUIInfo;
+
/* cursor data format is 32bit RGBA */
typedef struct QEMUCursor {
int width, height;
@@ -204,6 +212,8 @@ void update_displaychangelistener(DisplayChangeListener
*dcl,
uint64_t interval);
void unregister_displaychangelistener(DisplayChangeListener *dcl);
+int dpy_set_ui_info(QemuConsole *con, QemuUIInfo *info);
+
void dpy_gfx_update(QemuConsole *con, int x, int y, int w, int h);
void dpy_gfx_replace_surface(QemuConsole *con,
DisplaySurface *surface);
@@ -266,6 +276,7 @@ typedef struct GraphicHwOps {
void (*gfx_update)(void *opaque);
void (*text_update)(void *opaque, console_ch_t *text);
void (*update_interval)(void *opaque, uint64_t interval);
+ int (*ui_info)(void *opaque, uint32_t head, QemuUIInfo *info);
} GraphicHwOps;
QemuConsole *graphic_console_init(DeviceState *dev, uint32_t head,
@@ -283,6 +294,7 @@ bool qemu_console_is_graphic(QemuConsole *con);
bool qemu_console_is_fixedsize(QemuConsole *con);
int qemu_console_get_index(QemuConsole *con);
uint32_t qemu_console_get_head(QemuConsole *con);
+QemuUIInfo *qemu_console_get_ui_info(QemuConsole *con);
int qemu_console_get_width(QemuConsole *con, int fallback);
int qemu_console_get_height(QemuConsole *con, int fallback);
diff --git a/ui/console.c b/ui/console.c
index 0a4f912..4df251d 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -125,6 +125,7 @@ struct QemuConsole {
/* Graphic console state. */
Object *device;
uint32_t head;
+ QemuUIInfo ui_info;
const GraphicHwOps *hw_ops;
void *hw;
@@ -1347,6 +1348,16 @@ void
unregister_displaychangelistener(DisplayChangeListener *dcl)
gui_setup_refresh(ds);
}
+int dpy_set_ui_info(QemuConsole *con, QemuUIInfo *info)
+{
+ assert(con != NULL);
+ con->ui_info = *info;
+ if (con->hw_ops->ui_info) {
+ return con->hw_ops->ui_info(con->hw, con->head, info);
+ }
+ return -1;
+}
+
void dpy_gfx_update(QemuConsole *con, int x, int y, int w, int h)
{
DisplayState *s = con->ds;
@@ -1669,6 +1680,12 @@ uint32_t qemu_console_get_head(QemuConsole *con)
return con ? con->head : -1;
}
+QemuUIInfo *qemu_console_get_ui_info(QemuConsole *con)
+{
+ assert(con != NULL);
+ return &con->ui_info;
+}
+
int qemu_console_get_width(QemuConsole *con, int fallback)
{
if (con == NULL) {
--
1.8.3.1
- [Qemu-devel] [PULL v4 36/38] console: add head to index to qemu consoles., (continued)
- [Qemu-devel] [PULL v4 36/38] console: add head to index to qemu consoles., Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 07/38] input: keyboard: add helper functions to core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 12/38] input: keyboard: switch vnc ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 34/38] input: move do_mouse_set to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 17/38] input: mouse: add qemu_input_is_absolute(), Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 19/38] input: mouse: switch gtk ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 27/38] input-legacy: remove kbd_put_keycode, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 30/38] input-legacy: remove kbd_mouse_event, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 31/38] input: move mouse mode notifier to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 25/38] input: mouse: switch cocoa ui to new core, Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 37/38] console: add QemuUIInfo,
Gerd Hoffmann <=
- [Qemu-devel] [PULL v4 38/38] ui/sdl2 : initial port to SDL 2.0 (v2.0), Gerd Hoffmann, 2014/03/05
- [Qemu-devel] [PULL v4 13/38] input: keyboard: switch spice ui to new core, Gerd Hoffmann, 2014/03/05
- Re: [Qemu-devel] [PULL v4 00/38] rework input handling, sdl2 support, Peter Maydell, 2014/03/07