cocoa: use DisplayOptions

Switch cocoa ui to use qapi DisplayOptions for configuration.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20180202111022.19269-10-kraxel@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gerd Hoffmann 2018-02-02 12:10:19 +01:00
parent 14f130fad8
commit 767f9bf3b5
4 changed files with 10 additions and 7 deletions

View file

@ -450,9 +450,9 @@ static inline void sdl_display_init(DisplayState *ds, DisplayOptions *opts)
/* cocoa.m */
#ifdef CONFIG_COCOA
void cocoa_display_init(DisplayState *ds, int full_screen);
void cocoa_display_init(DisplayState *ds, DisplayOptions *opts);
#else
static inline void cocoa_display_init(DisplayState *ds, int full_screen)
static inline void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
{
/* This must never be called if CONFIG_COCOA is disabled */
error_report("Cocoa support is disabled");

View file

@ -1020,7 +1020,8 @@
#
##
{ 'enum' : 'DisplayType',
'data' : [ 'none', 'gtk', 'sdl', 'egl-headless', 'curses' ] }
'data' : [ 'none', 'gtk', 'sdl',
'egl-headless', 'curses', 'cocoa' ] }
##
# @DisplayOptions:
@ -1045,4 +1046,5 @@
'gtk' : 'DisplayGTK',
'sdl' : 'DisplayNoOpts',
'egl-headless' : 'DisplayNoOpts',
'curses' : 'DisplayNoOpts' } }
'curses' : 'DisplayNoOpts',
'cocoa' : 'DisplayNoOpts' } }

View file

@ -1683,12 +1683,12 @@ static void addRemovableDevicesMenuItems(void)
qapi_free_BlockInfoList(pointerToFree);
}
void cocoa_display_init(DisplayState *ds, int full_screen)
void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
{
COCOA_DEBUG("qemu_cocoa: cocoa_display_init\n");
/* if fullscreen mode is to be used */
if (full_screen == true) {
if (opts->has_full_screen && opts->full_screen) {
[NSApp activateIgnoringOtherApps: YES];
[(QemuCocoaAppController *)[[NSApplication sharedApplication] delegate] toggleFullScreen: nil];
}

3
vl.c
View file

@ -4344,6 +4344,7 @@ int main(int argc, char **argv, char **envp)
dpy.type = DISPLAY_TYPE_SDL;
#elif defined(CONFIG_COCOA)
display_type = DT_COCOA;
dpy.type = DISPLAY_TYPE_COCOA;
#elif defined(CONFIG_VNC)
vnc_parse("localhost:0,to=99,id=default", &error_abort);
#else
@ -4705,7 +4706,7 @@ int main(int argc, char **argv, char **envp)
sdl_display_init(ds, &dpy);
break;
case DT_COCOA:
cocoa_display_init(ds, full_screen);
cocoa_display_init(ds, &dpy);
break;
case DT_GTK:
gtk_display_init(ds, &dpy);