1193
static TextConsole *get_graphic_console() {
1196
for (i = 0; i < nb_consoles; i++) {
1198
if (s->console_type == GRAPHIC_CONSOLE)
1193
1204
static TextConsole *new_console(DisplayState *ds, console_type_t console_type)
1195
1206
TextConsole *s;
1217
1228
consoles[i] = consoles[i - 1];
1219
1230
consoles[i] = s;
1224
TextConsole *graphic_console_init(DisplayState *ds, vga_hw_update_ptr update,
1225
vga_hw_invalidate_ptr invalidate,
1226
vga_hw_screen_dump_ptr screen_dump,
1227
vga_hw_text_update_ptr text_update,
1236
DisplayState *graphic_console_init(vga_hw_update_ptr update,
1237
vga_hw_invalidate_ptr invalidate,
1238
vga_hw_screen_dump_ptr screen_dump,
1239
vga_hw_text_update_ptr text_update,
1230
1242
TextConsole *s;
1245
ds = (DisplayState *) qemu_mallocz(sizeof(DisplayState));
1248
ds->surface = qemu_create_displaysurface(640, 480, 32, 640 * 4);
1232
1250
s = new_console(ds, GRAPHIC_CONSOLE);
1252
qemu_free_displaysurface(ds->surface);
1235
1256
s->hw_update = update;
1236
1257
s->hw_invalidate = invalidate;
1237
1258
s->hw_screen_dump = screen_dump;
1238
1259
s->hw_text_update = text_update;
1239
1260
s->hw = opaque;
1262
register_displaystate(ds);
1243
1266
int is_graphic_console(void)
1340
void qemu_console_resize(QEMUConsole *console, int width, int height)
1364
void qemu_console_resize(DisplayState *ds, int width, int height)
1342
console->g_width = width;
1343
console->g_height = height;
1344
if (active_console == console) {
1345
DisplayState *ds = console->ds;
1366
TextConsole *s = get_graphic_console();
1368
s->g_height = height;
1369
if (is_graphic_console()) {
1346
1370
ds->surface = qemu_resize_displaysurface(ds->surface, width, height, 32, 4 * width);
1347
dpy_resize(console->ds);
1351
void qemu_console_copy(QEMUConsole *console, int src_x, int src_y,
1352
int dst_x, int dst_y, int w, int h)
1375
void qemu_console_copy(DisplayState *ds, int src_x, int src_y,
1376
int dst_x, int dst_y, int w, int h)
1354
if (active_console == console) {
1355
dpy_copy(console->ds, src_x, src_y, dst_x, dst_y, w, h);
1378
if (is_graphic_console()) {
1379
dpy_copy(ds, src_x, src_y, dst_x, dst_y, w, h);