static int gui_fullscreen;
static int gui_key_modifier_pressed;
static int gui_keysym;
+static int gui_fullscreen_initial_grab;
static void sdl_update(DisplayState *ds, int x, int y, int w, int h)
{
}
break;
case SDL_ACTIVEEVENT:
- if (gui_grab && (ev->active.gain & SDL_ACTIVEEVENTMASK) == 0) {
+ if (gui_grab && (ev->active.gain & SDL_ACTIVEEVENTMASK) == 0 &&
+ !gui_fullscreen_initial_grab) {
sdl_grab_end();
}
break;
SDL_Quit();
}
-void sdl_display_init(DisplayState *ds)
+void sdl_display_init(DisplayState *ds, int full_screen)
{
int flags;
gui_grab = 0;
atexit(sdl_cleanup);
+ if (full_screen) {
+ gui_fullscreen = 1;
+ gui_fullscreen_initial_grab = 1;
+ sdl_grab_start();
+ }
}
int graphic_width = 800;
int graphic_height = 600;
int graphic_depth = 15;
+int full_screen = 0;
TextConsole *vga_console;
CharDriverState *serial_hds[MAX_SERIAL_PORTS];
"-nographic disable graphical output and redirect serial I/Os to console\n"
"-enable-audio enable audio support\n"
"-localtime set the real time clock to local time [default=utc]\n"
+ "-full-screen start in full screen\n"
#ifdef TARGET_PPC
"-prep Simulate a PREP system (default is PowerMAC)\n"
"-g WxH[xDEPTH] Set the initial VGA graphic mode\n"
"-std-vga simulate a standard VGA card with VESA Bochs Extensions\n"
" (default is CL-GD5446 PCI VGA)\n"
#endif
+ "-loadvm file start right away with a saved state (loadvm in monitor)\n"
"\n"
"During emulation, the following keys are useful:\n"
"ctrl-shift-f toggle full screen\n"
QEMU_OPTION_std_vga,
QEMU_OPTION_monitor,
QEMU_OPTION_serial,
+ QEMU_OPTION_loadvm,
+ QEMU_OPTION_full_screen,
};
typedef struct QEMUOption {
{ "std-vga", 0, QEMU_OPTION_std_vga },
{ "monitor", 1, QEMU_OPTION_monitor },
{ "serial", 1, QEMU_OPTION_serial },
+ { "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
+ { "full-screen", 0, QEMU_OPTION_full_screen },
/* temporary options */
{ "pci", 0, QEMU_OPTION_pci },
char monitor_device[128];
char serial_devices[MAX_SERIAL_PORTS][128];
int serial_device_index;
+ const char *loadvm = NULL;
#if !defined(CONFIG_SOFTMMU)
/* we never want that malloc() uses mmap() */
sizeof(serial_devices[0]), optarg);
serial_device_index++;
break;
+ case QEMU_OPTION_loadvm:
+ loadvm = optarg;
+ break;
+ case QEMU_OPTION_full_screen:
+ full_screen = 1;
+ break;
}
}
}
dumb_display_init(ds);
} else {
#ifdef CONFIG_SDL
- sdl_display_init(ds);
+ sdl_display_init(ds, full_screen);
#else
dumb_display_init(ds);
#endif
}
} else
#endif
+ if (loadvm)
+ qemu_loadvm(loadvm);
+
{
/* XXX: simplify init */
read_passwords();