From: Dave Airlie <airl...@redhat.com> We need to know how many graphics consoles are registered in the UI code so it knows how many windows it should prepare for etc, also so that it could potentially warn for cases it can't handle.
We also need to know the console index so we can add it to the list. (maybe we don't). Signed-off-by: Dave Airlie <airl...@redhat.com> --- include/ui/console.h | 3 +++ ui/console.c | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/ui/console.h b/include/ui/console.h index 5731081..be304fe 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -306,6 +306,9 @@ void qemu_console_copy(QemuConsole *con, int src_x, int src_y, DisplaySurface *qemu_console_surface(QemuConsole *con); DisplayState *qemu_console_displaystate(QemuConsole *console); +int qemu_get_console_index(QemuConsole *con); +int qemu_get_number_graphical_consoles(void); + typedef CharDriverState *(VcHandler)(ChardevVC *vc); CharDriverState *vc_init(ChardevVC *vc); diff --git a/ui/console.c b/ui/console.c index c20e336..4248a6f 100644 --- a/ui/console.c +++ b/ui/console.c @@ -175,6 +175,7 @@ static DisplayState *display_state; static QemuConsole *active_console; static QemuConsole *consoles[MAX_CONSOLES]; static int nb_consoles = 0; +static int nb_graphics_consoles = 0; static void text_console_do_init(CharDriverState *chr, DisplayState *ds); static void dpy_refresh(DisplayState *s); @@ -1247,6 +1248,7 @@ static QemuConsole *new_console(DisplayState *ds, console_type_t console_type) s->index = i; consoles[i] = s; nb_consoles++; + nb_graphics_consoles++; } return s; } @@ -1873,6 +1875,16 @@ DisplayState *qemu_console_displaystate(QemuConsole *console) return console->ds; } +int qemu_get_console_index(QemuConsole *console) +{ + return console->index; +} + +int qemu_get_number_graphical_consoles(void) +{ + return nb_graphics_consoles; +} + PixelFormat qemu_different_endianness_pixelformat(int bpp) { PixelFormat pf; -- 1.8.3.1