Re: Moving a window offscreen
Re: Moving a window offscreen
- Subject: Re: Moving a window offscreen
- From: Jonathan Dann <email@hidden>
- Date: Sat, 7 Mar 2009 12:07:57 +0100
On 7 Mar 2009, at 05:50, Michael Ash wrote:
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
Thanks Mike,
I'll give that a go and let you know. I may run into an issue with all
the views not being added and positioned in the window properly as
I've loading my view from nib using view controllers. We'll see!
Appreciate it,
Jonathan
http://espresso-served-here.com
_______________________________________________
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