On Sat, 17 Feb 2024 at 11:19, Akihiko Odaki <akihiko.od...@daynix.com> wrote: > > Evaluate [normalWindow styleMask] & NSWindowStyleMaskResizable instead. > > Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> > --- > ui/cocoa.m | 11 ++++------- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/ui/cocoa.m b/ui/cocoa.m > index 81de8d92669b..401ed0c3f1f5 100644 > --- a/ui/cocoa.m > +++ b/ui/cocoa.m > @@ -103,7 +103,6 @@ static void cocoa_switch(DisplayChangeListener *dcl, > static int left_command_key_enabled = 1; > static bool swap_opt_cmd; > > -static bool stretch_video; > static NSTextField *pauseLabel; > > static bool allow_events; > @@ -533,7 +532,7 @@ - (void) resizeWindow > { > [[self window] setContentAspectRatio:NSMakeSize(screen.width, > screen.height)]; > > - if (!stretch_video) { > + if (!([[self window] styleMask] & NSWindowStyleMaskResizable)) { > [[self window] setContentSize:NSMakeSize(screen.width, > screen.height)]; > [[self window] center]; > } else if ([[self window] styleMask] & NSWindowStyleMaskFullScreen) { > @@ -1296,7 +1295,7 @@ - (BOOL)windowShouldClose:(id)sender > > - (NSSize) window:(NSWindow *)window > willUseFullScreenContentSize:(NSSize)proposedSize > { > - if (stretch_video) { > + if ([normalWindow styleMask] & NSWindowStyleMaskResizable) { > return [cocoaView fixZoomedFullScreenSize:proposedSize]; > } > > @@ -1377,8 +1376,7 @@ - (void)showQEMUDoc:(id)sender > /* Stretches video to fit host monitor size */ > - (void)zoomToFit:(id) sender > { > - stretch_video = !stretch_video; > - if (stretch_video == true) { > + if (([normalWindow styleMask] & NSWindowStyleMaskResizable) == 0) { > [normalWindow setStyleMask:[normalWindow styleMask] | > NSWindowStyleMaskResizable]; > [sender setState: NSControlStateValueOn]; > } else { > @@ -1650,7 +1648,7 @@ static void create_initial_menus(void) > menu = [[NSMenu alloc] initWithTitle:@"View"]; > [menu addItem: [[[NSMenuItem alloc] initWithTitle:@"Enter Fullscreen" > action:@selector(doToggleFullScreen:) keyEquivalent:@"f"] autorelease]]; // > Fullscreen > menuItem = [[[NSMenuItem alloc] initWithTitle:@"Zoom To Fit" > action:@selector(zoomToFit:) keyEquivalent:@""] autorelease]; > - [menuItem setState: stretch_video ? NSControlStateValueOn : > NSControlStateValueOff]; > + [menuItem setState: [normalWindow styleMask] & > NSWindowStyleMaskResizable ? NSControlStateValueOn : NSControlStateValueOff]; > [menu addItem: menuItem]; > menuItem = [[[NSMenuItem alloc] initWithTitle:@"View" action:nil > keyEquivalent:@""] autorelease]; > [menuItem setSubmenu:menu]; > @@ -2036,7 +2034,6 @@ static void cocoa_display_init(DisplayState *ds, > DisplayOptions *opts) > } > > if (opts->u.cocoa.has_zoom_to_fit && opts->u.cocoa.zoom_to_fit) { > - stretch_video = true; > [normalWindow setStyleMask:[normalWindow styleMask] | > NSWindowStyleMaskResizable]; > }
It's nice to get rid of the boolean, but [normalWindow styleMask] & NSWindowStyleMaskResizable feels a bit clunky -- maybe we should wrap it in a method with a suitable name ? (isZoomToFit, maybe? but I'm not too familiar with what cocoa function naming style is.) -- PMM