• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSView enterFullScreenMode:withOptions: woes; window levels
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSView enterFullScreenMode:withOptions: woes; window levels


  • Subject: Re: NSView enterFullScreenMode:withOptions: woes; window levels
  • From: Brian Christensen <email@hidden>
  • Date: Tue, 18 Mar 2008 00:05:44 -0400

On Mar 17, 2008, at 4:51 , Sean McBride wrote:

Hi all,

Is anyone using the new NSView full screen methods in 10.5?

I have a window which contains a 'group view', it is basically an NSView
that contains two subviews: a button, and an custom NSView that draws
pretty pictures. The button displays a floating palette (NSPanel).


My ultimate goal is to make the 'group view' full screen but allow the
floating palette to be above it.

If I do:

NSDictionary* options = [NSDictionary
 dictionaryWithObjectsAndKeys:
		  [NSNumber numberWithInt:kCGNormalWindowLevel],
   NSFullScreenModeWindowLevel, nil];
[groupView enterFullScreenMode:[NSScreen mainScreen]
 withOptions:options];
NSLog (@"level %d", [[groupView window] level]);

Then it does go fullscreen, but the window level is
kCGMaximumWindowLevel-1, not kCGNormalWindowLevel.  As such, my panel
(at kCGFloatingWindowLevel) is invisible.

Am I doing something wrong here?  Shouldn't the window level be what I
told it to be?

I am unsure why this is even presented as an option for the mode dictionary. To my knowledge the CGDirectDisplay API (which is what the enterFullScreenMode: method is using under the hood) does not support specifying your own shielding window level. The result is that the window hosting your NSView is going to have to be promoted to a window level that is equal to or higher than the result of CGShieldingWindowLevel(). Otherwise it would be covered by the blanking window created by the display API.


You might alternately try to set the window level on your floating palette instead, ie. [paletteWindow setLevel:kCGMaximumWindowLevel].

/brian

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: NSView enterFullScreenMode:withOptions: woes; window levels
      • From: "Sean McBride" <email@hidden>
References: 
 >NSView enterFullScreenMode:withOptions: woes; window levels (From: "Sean McBride" <email@hidden>)

  • Prev by Date: Re: Confused about CFRunLoop
  • Next by Date: Re: Confused about CFRunLoop
  • Previous by thread: NSView enterFullScreenMode:withOptions: woes; window levels
  • Next by thread: Re: NSView enterFullScreenMode:withOptions: woes; window levels
  • Index(es):
    • Date
    • Thread