ui/vc: split off the VC part from console.c

Move common declarations to console-priv.h, and add a new unit
console-vc.c which will handle VC/chardev rendering, when pixman is
available.

(if necessary, the move could be done chunk by chunks)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Marc-André Lureau 2023-08-30 13:38:23 +04:00
parent f7ce755df8
commit 6f11081991
4 changed files with 1126 additions and 1093 deletions

43
ui/console-priv.h Normal file
View File

@ -0,0 +1,43 @@
/*
* SPDX-License-Identifier: GPL-2.0-or-later
* QEMU UI Console
*/
#ifndef CONSOLE_PRIV_H
#define CONSOLE_PRIV_H
#include "ui/console.h"
#include "qemu/coroutine.h"
#include "qemu/timer.h"
#include "vgafont.h"
#define FONT_HEIGHT 16
#define FONT_WIDTH 8
struct QemuConsole {
Object parent;
int index;
DisplayState *ds;
DisplaySurface *surface;
DisplayScanout scanout;
int dcls;
DisplayGLCtx *gl;
int gl_block;
QEMUTimer *gl_unblock_timer;
int window_id;
QemuUIInfo ui_info;
QEMUTimer *ui_timer;
const GraphicHwOps *hw_ops;
void *hw;
CoQueue dump_queue;
QTAILQ_ENTRY(QemuConsole) next;
};
void qemu_text_console_select(QemuTextConsole *c);
const char * qemu_text_console_get_label(QemuTextConsole *c);
void qemu_text_console_update_cursor(void);
void qemu_text_console_handle_keysym(QemuTextConsole *s, int keysym);
#endif

1079
ui/console-vc.c Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,7 @@ system_ss.add(png)
system_ss.add(files(
'clipboard.c',
'console.c',
'console-vc.c',
'cursor.c',
'input-keymap.c',
'input-legacy.c',