OSX feature:

Blender now supports the 10.7+ "Full screen" mode, which pushes a window to a permanent
other "screen", with animated zoom and sliding.

Available via the icon in window header (right), Apple+F, or "Window" menu in top.

Works much nicer than Blender's own "full screen" option.

Todo: the zoom effect is still draws a bit ugly, because Blender doesn't have "live resize"
yet.
This commit is contained in:
Ton Roosendaal
2013-03-22 16:11:00 +00:00
parent cb1d26d794
commit 6690d2abdd
2 changed files with 18 additions and 1 deletions

View File

@@ -500,6 +500,7 @@ int cocoa_request_qtcodec_settings(bContext *C, wmOperator *op)
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- (void)applicationWillTerminate:(NSNotification *)aNotification;
- (void)applicationWillBecomeActive:(NSNotification *)aNotification;
- (void)toggleFullScreen:(NSNotification *)notification;
@end
@implementation CocoaAppDelegate : NSObject
@@ -536,10 +537,16 @@ int cocoa_request_qtcodec_settings(bContext *C, wmOperator *op)
{
systemCocoa->handleApplicationBecomeActiveEvent();
}
- (void)toggleFullScreen:(NSNotification *)notification
{
}
@end
#pragma mark initialization/finalization
const char *user_locale; // Global current user locale
@@ -655,6 +662,11 @@ GHOST_TSuccess GHOST_SystemCocoa::init()
[windowMenu addItemWithTitle:@"Zoom" action:@selector(performZoom:) keyEquivalent:@""];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
menuItem = [windowMenu addItemWithTitle:@"Enter Full Screen" action:@selector(toggleFullScreen:) keyEquivalent:@"f" ];
[menuItem setKeyEquivalentModifierMask:NSCommandKeyMask];
#endif
menuItem = [windowMenu addItemWithTitle:@"Close" action:@selector(performClose:) keyEquivalent:@"w"];
[menuItem setKeyEquivalentModifierMask:NSCommandKeyMask];

View File

@@ -622,7 +622,12 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
[m_window registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,
NSStringPboardType, NSTIFFPboardType, nil]];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
[NSApp setPresentationOptions:(NSApplicationPresentationFullScreen)];
[m_window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
#endif
if (state == GHOST_kWindowStateFullScreen)
setState(GHOST_kWindowStateFullScreen);