@@ -275,6 +275,7 @@ typedef struct GraphicHwOps {
void (*text_update)(void *opaque, console_ch_t *text);
void (*update_interval)(void *opaque, uint64_t interval);
void (*store_edid)(void *opaque, uint8_t *edid, size_t edid_size);
+ QemuConsole *(*add_display)(void *opaque);
void (*set_orientation)(void *opaque, uint32_t x, uint32_t y, uint32_t r);
} GraphicHwOps;
@@ -287,6 +288,7 @@ void graphic_hw_store_edid(QemuConsole *con, uint8_t *edid, size_t edid_size);
void graphic_hw_set_orientation(QemuConsole *con, uint32_t x, uint32_t y, uint32_t r);
void graphic_hw_invalidate(QemuConsole *con);
void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
+QemuConsole *graphic_hw_add_display(void);
QemuConsole *qemu_console_lookup_by_index(unsigned int index);
QemuConsole *qemu_console_lookup_by_device(DeviceState *dev);
@@ -285,6 +285,15 @@ void graphic_hw_invalidate(QemuConsole *con)
}
}
+QemuConsole *graphic_hw_add_display(void)
+{
+ if (active_console && active_console->hw_ops->add_display) {
+ return active_console->hw_ops->add_display(active_console->hw);
+ }
+
+ return NULL;
+}
+
static void ppm_save(const char *filename, struct DisplaySurface *ds,
Error **errp)
{