[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23854] trunk/blender/intern/ghost/intern: Cocoa :
Damien Plisson
damien.plisson at yahoo.fr
Thu Oct 15 10:27:32 CEST 2009
Revision: 23854
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23854
Author: damien78
Date: 2009-10-15 10:27:31 +0200 (Thu, 15 Oct 2009)
Log Message:
-----------
Cocoa :
- Small changes to make ghost_cocoa compatible with 10.4 + gcc4.0 (the initial goal was to be 10.5+ compatible, but 10.4 is finally also possible)
- Main window title is now in Apple document window title style (proxy icon + filename)
- fix for top menu "Blender" sub-menu not anchored correctly in 10.5
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 2009-10-15 07:07:01 UTC (rev 23853)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm 2009-10-15 08:27:31 UTC (rev 23854)
@@ -635,6 +635,7 @@
[mainMenubar addItem:menuItem];
[menuItem release];
+ [NSApp performSelector:@selector(setAppleMenu:) withObject:appMenu]; //Needed for 10.5
[appMenu release];
//Create the window menu
@@ -815,7 +816,7 @@
GHOST_TSuccess GHOST_SystemCocoa::getModifierKeys(GHOST_ModifierKeys& keys) const
{
- NSUInteger modifiers = [[NSApp currentEvent] modifierFlags];
+ unsigned int modifiers = [[NSApp currentEvent] modifierFlags];
//Direct query to modifierFlags can be used in 10.6
keys.set(GHOST_kModifierKeyCommand, (modifiers & NSCommandKeyMask) ? true : false);
@@ -1175,7 +1176,7 @@
{
NSEvent *event = (NSEvent *)eventPtr;
GHOST_IWindow* window = m_windowManager->getActiveWindow();
- NSUInteger modifiers;
+ unsigned int modifiers;
NSString *characters;
GHOST_TKey keyCode;
unsigned char ascii;
Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm 2009-10-15 07:07:01 UTC (rev 23853)
+++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm 2009-10-15 08:27:31 UTC (rev 23854)
@@ -40,13 +40,13 @@
// Pixel Format Attributes for the windowed NSOpenGLContext
-static const NSOpenGLPixelFormatAttribute pixelFormatAttrsWindow[] =
+static NSOpenGLPixelFormatAttribute pixelFormatAttrsWindow[] =
{
NSOpenGLPFADoubleBuffer,
NSOpenGLPFAAccelerated,
- NSOpenGLPFAAllowOfflineRenderers, // NOTE: Needed to connect to secondary GPUs
- NSOpenGLPFADepthSize, 32,
- 0
+ //NSOpenGLPFAAllowOfflineRenderers, // Removed to allow 10.4 builds, and 2 GPUs rendering is not used anyway
+ NSOpenGLPFADepthSize, (NSOpenGLPixelFormatAttribute) 32,
+ (NSOpenGLPixelFormatAttribute) 0
};
#pragma mark Cocoa window delegate object
@@ -187,7 +187,7 @@
return;
}
- [m_window setTitle:[NSString stringWithUTF8String:title]];
+ setTitle(title);
//Creates the OpenGL View inside the window
@@ -271,8 +271,39 @@
NSString *windowTitle = [[NSString alloc] initWithUTF8String:title];
- [m_window setTitle:windowTitle];
+ //Set associated file if applicable
+ if ([windowTitle hasPrefix:@"Blender"])
+ {
+ NSRange fileStrRange;
+ NSString *associatedFileName;
+ int len;
+
+ fileStrRange.location = [windowTitle rangeOfString:@"["].location+1;
+ len = [windowTitle rangeOfString:@"]"].location - fileStrRange.location;
+ if (len >0)
+ {
+ fileStrRange.length = len;
+ associatedFileName = [windowTitle substringWithRange:fileStrRange];
+ @try {
+ [m_window setRepresentedFilename:associatedFileName];
+ }
+ @catch (NSException * e) {
+ printf("\nInvalid file path given in window title");
+ }
+ [m_window setTitle:[associatedFileName lastPathComponent]];
+ }
+ else {
+ [m_window setTitle:windowTitle];
+ [m_window setRepresentedFilename:@""];
+ }
+
+ } else {
+ [m_window setTitle:windowTitle];
+ [m_window setRepresentedFilename:@""];
+ }
+
+
[windowTitle release];
[pool drain];
}
@@ -501,7 +532,7 @@
defer:YES];
//Copy current window parameters
[tmpWindow setTitle:[m_window title]];
- [tmpWindow setRepresentedURL:[m_window representedURL]];
+ [tmpWindow setRepresentedFilename:[m_window representedFilename]];
[tmpWindow setReleasedWhenClosed:NO];
[tmpWindow setAcceptsMouseMovedEvents:YES];
[tmpWindow setDelegate:[m_window delegate]];
@@ -557,7 +588,7 @@
defer:YES];
//Copy current window parameters
[tmpWindow setTitle:[m_window title]];
- [tmpWindow setRepresentedURL:[m_window representedURL]];
+ [tmpWindow setRepresentedFilename:[m_window representedFilename]];
[tmpWindow setReleasedWhenClosed:NO];
[tmpWindow setAcceptsMouseMovedEvents:YES];
[tmpWindow setDelegate:[m_window delegate]];
More information about the Bf-blender-cvs
mailing list