Revision c21bbcfa console.c
b/console.c | ||
---|---|---|
109 | 109 |
|
110 | 110 |
typedef enum { |
111 | 111 |
GRAPHIC_CONSOLE, |
112 |
TEXT_CONSOLE |
|
112 |
TEXT_CONSOLE, |
|
113 |
TEXT_CONSOLE_FIXED_SIZE |
|
113 | 114 |
} console_type_t; |
114 | 115 |
|
115 | 116 |
/* ??? This is mis-named. |
... | ... | |
1046 | 1047 |
s = consoles[index]; |
1047 | 1048 |
if (s) { |
1048 | 1049 |
active_console = s; |
1049 |
if (s->g_width && s->g_height |
|
1050 |
if (s->console_type != TEXT_CONSOLE && s->g_width && s->g_height
|
|
1050 | 1051 |
&& (s->g_width != s->ds->width || s->g_height != s->ds->height)) |
1051 | 1052 |
dpy_resize(s->ds, s->g_width, s->g_height); |
1052 | 1053 |
vga_hw_invalidate(); |
... | ... | |
1157 | 1158 |
{ |
1158 | 1159 |
TextConsole *s = (TextConsole *) opaque; |
1159 | 1160 |
|
1161 |
if (s->g_width != s->ds->width || s->g_height != s->ds->height) { |
|
1162 |
if (s->console_type == TEXT_CONSOLE_FIXED_SIZE) |
|
1163 |
dpy_resize(s->ds, s->g_width, s->g_height); |
|
1164 |
else { |
|
1165 |
s->g_width = s->ds->width; |
|
1166 |
s->g_height = s->ds->height; |
|
1167 |
text_console_resize(s); |
|
1168 |
} |
|
1169 |
} |
|
1160 | 1170 |
console_refresh(s); |
1161 | 1171 |
} |
1162 | 1172 |
|
... | ... | |
1242 | 1252 |
return active_console && active_console->console_type == GRAPHIC_CONSOLE; |
1243 | 1253 |
} |
1244 | 1254 |
|
1255 |
int is_fixedsize_console(void) |
|
1256 |
{ |
|
1257 |
return active_console && active_console->console_type != TEXT_CONSOLE; |
|
1258 |
} |
|
1259 |
|
|
1245 | 1260 |
void console_color_init(DisplayState *ds) |
1246 | 1261 |
{ |
1247 | 1262 |
int i, j; |
... | ... | |
1264 | 1279 |
chr = qemu_mallocz(sizeof(CharDriverState)); |
1265 | 1280 |
if (!chr) |
1266 | 1281 |
return NULL; |
1267 |
s = new_console(ds, TEXT_CONSOLE);
|
|
1282 |
s = new_console(ds, (p == 0) ? TEXT_CONSOLE : TEXT_CONSOLE_FIXED_SIZE);
|
|
1268 | 1283 |
if (!s) { |
1269 | 1284 |
free(chr); |
1270 | 1285 |
return NULL; |
1271 | 1286 |
} |
1272 |
if (!p) |
|
1273 |
p = DEFAULT_MONITOR_SIZE; |
|
1274 |
|
|
1275 | 1287 |
chr->opaque = s; |
1276 | 1288 |
chr->chr_write = console_puts; |
1277 | 1289 |
chr->chr_send_event = console_send_event; |
... | ... | |
1345 | 1357 |
} |
1346 | 1358 |
|
1347 | 1359 |
void qemu_console_copy(QEMUConsole *console, int src_x, int src_y, |
1348 |
int dst_x, int dst_y, int w, int h) { |
|
1360 |
int dst_x, int dst_y, int w, int h) |
|
1361 |
{ |
|
1349 | 1362 |
if (active_console == console) { |
1350 | 1363 |
if (console->ds->dpy_copy) |
1351 | 1364 |
console->ds->dpy_copy(console->ds, |
Also available in: Unified diff