Re: Can't Draw To Secondary Monitor
Re: Can't Draw To Secondary Monitor
- Subject: Re: Can't Draw To Secondary Monitor
- From: Tom Sutcliffe <email@hidden>
- Date: Mon, 28 Apr 2003 14:04:20 +0100
It isn't a restriction of QT itself - I wrote an app using NSMovieView
that happily fullscreens a video to a second monitor. I would have
released it as a freeware movieplayer if things in NSMovieView's played
as well as they do in QuickTime Player... It may well be a restriction
of the graphics chip. It certainly works on my GeForce4.
Also should you be using CGShieldingWindowLevel directly? I'm don't
know much about CG but my app happily worked by using a subclass of
NSWindow which ran at the NSScreenSaverWindowLevel (to float over the
menubar) and overrode constrainFrameRect:toScreen: to allow the
titlebar to be moved off the top of the screen. (it did other stuff
with applicationDidDeactivate to make sure the window was demoted to a
normal level when the app was deactivated etc) and didn't use any
CoreGraphics calls at all.
Regards,
Tom
ps Now it's on OS X 10.2 I should probably use NSMenu setMenuBarVisible
instead of the ScreenSaverWindow Level.
I am not aware of any application that can show QT on the secondary
monitor. I believe this is a restriction in QT. It also appears in
PC software, so it may have to do with the graphics chips.
Michael
On Sunday, April 27, 2003, at 06:16 PM, Joshua Orr wrote:
I have a program that plays a video in a window. When the users wants
to go
to full screen, the program gets the current screen the window is in,
then
releases it, then it creates a new window in that screen with a
window level
that the CGShieldingWindowLevel() function returns.
This works just fine for the main screen, but in a secondary screen
it seems
to cover the secondary monitor with a black window, but it does not
display
anything in it. It's always black. But when on the main monitor it
displays the movie just fine.
Can anyone help? I need to fix this fast... Any help would be
appreciated!
Here is basically what the code does when it goes full screen:
NSScreen *theScreen = [mainWindow screen];
[mainWindow orderOut:self];
[mainWindow release];
screenRect = [theScreen frame];
windowLevel = CGShieldingWindowLevel();
mainWindow = [[NSWindow alloc]
initWithContentRect:screenRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO
screen:[NSScreen mainScreen]];
[mainWindow setLevel:windowLevel];
-Joshua D. Orr-
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.