mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
ui: build curses, gtk and sdl as modules.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJanQRYAAoJEEy22O7T6HE46p0P/38Ux4Yd8HZUkdCFuvZ8AH7u KUe4/K6LZosvmt2nn8p7eSLLdOMWhkCd7EJfpAyjlkZTjk7VU+SFZNVajpIDy4pO mmbKu9F/au2mPzKpvGx+44OGRkY+s6l4WnSIzWHm/3M5MbKksqOqfRmcprIv+kNe z14bY8AecV47UC9/5tZu2Kfe5jlBajsVdP0ZMFM0ROgSJd7bUjyoVX7iBCyqHXuF BpKMbphTiFV2fQrAaKCooLiCD1JKqow42N8lfGg0ytxfBTBIJVuB7d6l6nVCZVxg fxogbE2ciLUx9cPm5X0jgfL+pXgSHiGCurtlWEDRb9DI1TTJlO/ssK/+vLBlKE9L qKVzDjaiXtieNZh1SK5zUOC0kDEr6LtfZLJG1o0Lqit0OV6/OS7Qq0T3/dOwmqWe 3V6HRV8CYJkUKn2QqREpE6jv2pFLuHEuoeyFfTE92pK4yS7pgZOfaKqq4FXy+cu3 wpWx/qmu1Mz5A8fnzNW+v6juhrgYxychRdkw7MWPjm0MDIaYcHV/Fp/yzlO4L1FE hEet5xXT48n/3/Cdj+ivFv6+4XELWMw09UUKEkZCHnSClA8UUZU9hbvsTXRqcAef TFO6s6t+c7Ya8tnsw4qNsk4lLVtMGp67L0Rfvh527ShxDHsRA/wl8PSyRUdQ7YlM l3MVmAnyZom8AR6EA/BG =Zc72 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kraxel/tags/ui-20180305-pull-request' into staging ui: build curses, gtk and sdl as modules. # gpg: Signature made Mon 05 Mar 2018 08:48:24 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/ui-20180305-pull-request: ui/sdl: build as module audio: rename CONFIG_* to CONFIG_AUDIO_* ui/curses: build as module ui/gtk: build as module configure: opengl doesn't depend on x11 configure: add X11 vars to config-host.mak console: add ui module loading support console: add and use qemu_display_find_default egl-headless: switch over to new display registry curses: switch over to new display registry cocoa: switch over to new display registry sdl: switch over to new display registry console: add qemu display registry, add gtk Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
4ee02f53be
16 changed files with 220 additions and 176 deletions
59
ui/console.c
59
ui/console.c
|
@ -2180,6 +2180,65 @@ PixelFormat qemu_default_pixelformat(int bpp)
|
|||
return pf;
|
||||
}
|
||||
|
||||
static QemuDisplay *dpys[DISPLAY_TYPE__MAX];
|
||||
|
||||
void qemu_display_register(QemuDisplay *ui)
|
||||
{
|
||||
assert(ui->type < DISPLAY_TYPE__MAX);
|
||||
dpys[ui->type] = ui;
|
||||
}
|
||||
|
||||
bool qemu_display_find_default(DisplayOptions *opts)
|
||||
{
|
||||
static DisplayType prio[] = {
|
||||
DISPLAY_TYPE_GTK,
|
||||
DISPLAY_TYPE_SDL,
|
||||
DISPLAY_TYPE_COCOA
|
||||
};
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(prio); i++) {
|
||||
if (dpys[prio[i]] == NULL) {
|
||||
ui_module_load_one(DisplayType_lookup.array[prio[i]]);
|
||||
}
|
||||
if (dpys[prio[i]] == NULL) {
|
||||
continue;
|
||||
}
|
||||
opts->type = prio[i];
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void qemu_display_early_init(DisplayOptions *opts)
|
||||
{
|
||||
assert(opts->type < DISPLAY_TYPE__MAX);
|
||||
if (opts->type == DISPLAY_TYPE_NONE) {
|
||||
return;
|
||||
}
|
||||
if (dpys[opts->type] == NULL) {
|
||||
ui_module_load_one(DisplayType_lookup.array[opts->type]);
|
||||
}
|
||||
if (dpys[opts->type] == NULL) {
|
||||
error_report("Display '%s' is not available.",
|
||||
DisplayType_lookup.array[opts->type]);
|
||||
exit(1);
|
||||
}
|
||||
if (dpys[opts->type]->early_init) {
|
||||
dpys[opts->type]->early_init(opts);
|
||||
}
|
||||
}
|
||||
|
||||
void qemu_display_init(DisplayState *ds, DisplayOptions *opts)
|
||||
{
|
||||
assert(opts->type < DISPLAY_TYPE__MAX);
|
||||
if (opts->type == DISPLAY_TYPE_NONE) {
|
||||
return;
|
||||
}
|
||||
assert(dpys[opts->type] != NULL);
|
||||
dpys[opts->type]->init(ds, opts);
|
||||
}
|
||||
|
||||
void qemu_chr_parse_vc(QemuOpts *opts, ChardevBackend *backend, Error **errp)
|
||||
{
|
||||
int val;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue