@@ -394,6 +394,9 @@ 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);
+/* Return the low-level window id for the first graphical console */
+int qemu_graphic_console_get_window_id(void);
+void qemu_console_set_window_id(int index, int window_id);
void console_select(unsigned int index);
void qemu_console_resize(QemuConsole *con, int width, int height);
@@ -124,6 +124,7 @@ struct QemuConsole {
int dcls;
DisplayChangeListener *gl;
bool gl_block;
+ int window_id;
/* Graphic console state. */
Object *device;
@@ -273,6 +274,20 @@ void graphic_hw_gl_block(QemuConsole *con, bool block)
}
}
+int qemu_graphic_console_get_window_id(void)
+{
+ if (consoles[0]->console_type == GRAPHIC_CONSOLE) {
+ return consoles[0]->window_id;
+ }
+ return -1;
+}
+
+void qemu_console_set_window_id(int index, int window_id)
+{
+ assert(index >= 0 && index < nb_consoles);
+ consoles[index]->window_id = window_id;
+}
+
void graphic_hw_invalidate(QemuConsole *con)
{
if (!con) {
This adds two console functions, qemu_console_set_window_id and qemu_graphic_console_get_window_id, to let graphical backend record the window id in the QemuConsole structure, and let the baum driver read it. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> --- include/ui/console.h | 3 +++ ui/console.c | 15 +++++++++++++++ 2 files changed, 18 insertions(+)