Re: Moving a window offscreen
Re: Moving a window offscreen
- Subject: Re: Moving a window offscreen
- From: Michael Ash <email@hidden>
- Date: Fri, 6 Mar 2009 23:50:00 -0500
On Fri, Mar 6, 2009 at 1:38 PM, Jonathan Dann <email@hidden> wrote:
> Hi All,
>
> In my application I want to create an image of a document window as a
> preview prior to displaying the window to the user. To obtain the CGImage of
> a displayed window is simple enough using the CGWindow API as shown below:
>
> - (CGImageRef)CGImage;
> {
> return CGWindowListCreateImage(CGRectNull,
> kCGWindowListOptionIncludingWindow, [self windowNumber],
> kCGWindowImageDefault);
> }
>
> The problem comes when trying to display the window initially at a far-off
> position so I can create the image and the move the window onto the screen.
>
> Setting the origin of the window to a point with large +ve or -ve ordinates
> causes the window to appear at the edge of the main screen, partly shown.
>
> Has anybody any experience with either a) rendering an entire window into a
> bitmap instead of to the screen, or b) moving the window offscreen
> completely? If b) is possible, would the above code work for such a window?
If you create the window with the "defer" flag set to NO, then the
NSWindow object will get a window server window even when it's not
actually ordered onto the screen. I *believe* that you will then be
able to capture it without ever displaying it so that it's visible to
the user, simply by not sending it an orderFront: or any similar
message.
As an alternative, use -dataWithPDFInsideRect: to generate an image.
This technique tends to be rather slow, though.
Mike
_______________________________________________
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