• 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: Putting up a full screen window
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Putting up a full screen window


  • Subject: Re: Putting up a full screen window
  • From: Adam Radestock <email@hidden>
  • Date: Fri, 6 Oct 2006 17:22:07 +0100

Maybe some background is in order... I am new to Cocoa programming, most of my coding experience being with REALBasic... I'm trying to write an application to run Quartz Compositions on two projection screens in a night club. I need the main display (in this particular case, the MacBook Pro's internal screen) to be as normal, as I am going to have the controls for the visuals on this screen, but the second display, which runs to the projectors, I need to capture and use exclusively for my app (even to the extent of layering my window above the NSScreenSaverLevel).
I have thought about using a QCPatchController and QCView to display the various compositions, simply because that route offers Cocoa Binding relatively easily, which means less glue code for me and a faster development time.
Is this possible? I have had no end of grief trying to get this to work full screen - I just can't seem to get the full screen window to work...
Can you suggest some leads that I can follow up?


Thank you for all your help,

Adam Radestock
Glass Monkey Design Co.

On 5 Oct 2006, at 9:16 pm, Ricky Sharp wrote:


On Thursday, October 05, 2006, at 02:23PM, Adam Radestock <email@hidden> wrote:


I've found a tutorial for creating a full screen window after
capturing the screen, but I cannot get it to work... can anyone find
the problem with my code? I'm really frustrated with it now! :-)
I don't think that it is setting the window up correctly...

First question to ask is whether or not your full screen window plans to contain standard controls (i.e. buttons, etc.) or even controls of your own creation (subclass of NSControl, etc.)


If the answer to that is 'yes', then completely avoid that sample code. In fact, I wish that sample would finally be updated with notes on why it can be potentially dangerous.

For an answer as to the why, search this list archives. I know I've commented on it in the past. For the original Apple supplied reason why it's bad, search the quartz-dev archives.

Now then, if you need to go full screen and work with standard controls and events...

* Use the SetSystemUIMode API to hide Dock and/or menu bar.
* Use NSScreen APIs to put up 'blanking' windows (if needed) on all screens
* Create a borderless window for your 'content' window and place it as needed on the desired screen.


Note that if you go the blanking window route, you can set the content window as a child window of the blanking window to prevent illegal window ordering.

--
Rick Sharp
Instant Interactive(tm)




_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Putting up a full screen window (From: Adam Radestock <email@hidden>)
 >Re: Putting up a full screen window (From: Ricky Sharp <email@hidden>)

  • Prev by Date: Re: Hit-testing in custom NSCell in NSTableview
  • Next by Date: Re: NSStatusItem's Image transparency
  • Previous by thread: Re: Putting up a full screen window
  • Next by thread: Weak-linking curl
  • Index(es):
    • Date
    • Thread