changeset 12785:33f58bfc8a1b

make mplayer capable of being in the foreground by Dan Christiansen
author nplourde
date Fri, 09 Jul 2004 16:54:57 +0000
parents e66787b22dbd
children b0060a6c4768
files libvo/vo_quartz.c
diffstat 1 files changed, 22 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_quartz.c	Fri Jul 09 15:35:26 2004 +0000
+++ b/libvo/vo_quartz.c	Fri Jul 09 16:54:57 2004 +0000
@@ -9,8 +9,7 @@
 	
 	MPlayer Mac OSX Quartz video out module.
 	
-	todo:   -'plist' resource
-			-RGB32 color space support
+	todo:	-RGB32 color space support
 			-rootwin
 			-screen overlay output
 			-while mouse button down event mplayer is locked, fix that
@@ -302,7 +301,7 @@
 	CreateNewWindow(kDocumentWindowClass, windowAttrs, &winRect, &theWindow);
   
 	//Set window title
-	titleKey	= CFSTR("MPlayer");
+	titleKey	= CFSTR("MPlayer - The Movie Player");
 	windowTitle = CFCopyLocalizedString(titleKey, NULL);
 	result		= SetWindowTitleWithCFString(theWindow, windowTitle);
 	CFRelease(titleKey);
@@ -717,6 +716,26 @@
             else if (parse_pos[0]) parse_err = 1;
         }
     }
+	
+	//this chunk of code is heavily based off SDL_macosx.m from SDL 
+	//it uses an Apple private function to request foreground operation
+
+	void CPSEnableForegroundOperation(ProcessSerialNumber* psn);
+	ProcessSerialNumber myProc, frProc;
+	Boolean sameProc;
+	
+	if (GetFrontProcess(&frProc) == noErr)
+	{
+		if (GetCurrentProcess(&myProc) == noErr)
+		{
+			if (SameProcess(&frProc, &myProc, &sameProc) == noErr && !sameProc)
+			{
+				CPSEnableForegroundOperation(&myProc);
+			}
+			SetFrontProcess(&myProc);
+		}
+	}
+
     return 0;
 }