[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55515] trunk/blender/intern/ghost/intern: OSX feature:

Ton Roosendaal ton at blender.org
Fri Mar 22 17:11:01 CET 2013


Revision: 55515
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55515
Author:   ton
Date:     2013-03-22 16:11:00 +0000 (Fri, 22 Mar 2013)
Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
    trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2013-03-22 15:47:02 UTC (rev 55514)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2013-03-22 16:11:00 UTC (rev 55515)
@@ -500,6 +500,7 @@
 - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
 - (void)applicationWillTerminate:(NSNotification *)aNotification;
 - (void)applicationWillBecomeActive:(NSNotification *)aNotification;
+- (void)toggleFullScreen:(NSNotification *)notification;
 @end
 
 @implementation CocoaAppDelegate : NSObject
@@ -536,10 +537,16 @@
 {
 	systemCocoa->handleApplicationBecomeActiveEvent();
 }
+
+- (void)toggleFullScreen:(NSNotification *)notification
+{
+}
+
 @end
 
 
 
+
 #pragma mark initialization/finalization
 
 const char *user_locale; // Global current user locale
@@ -655,6 +662,11 @@
 				
 				[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];
 				

Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	2013-03-22 15:47:02 UTC (rev 55514)
+++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	2013-03-22 16:11:00 UTC (rev 55515)
@@ -622,7 +622,12 @@
 	
 	[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);
 		




More information about the Bf-blender-cvs mailing list