mine did not, so I think I might have used context incorrectly:

I had a different context to draw into so the code was :

[NSGraphicsContext saveGraphicsState];
[NSGraphicsContext setCurrentContext:MyActualContext];

// do the text draw/rotate

[NSGraphicsContext restoreGraphicsState];

I was under impression that [... restoreGraphicsState] would restore the last context at the time it was [... saveGraphicsState]ed?
Or does each context have its own state stack?

Would the proper way to draw to a different context be to save the current context first???

NSGraphicsContext *LASTContext = [NSGraphicsContext currentContext];
[NSGraphicsContext saveGraphicsState];

[NSGraphicsContext setCurrentContext:MyActualContext];
[NSGraphicsContext saveGraphicsState];

// do the text draw/rotate

[NSGraphicsContext restoreGraphicsState];

[NSGraphicsContext setCurrentContext:LASTContext];
[NSGraphicsContext restoreGraphicsState];







----- Original Message ----- From: "Graham Cox" <graham....@bigpond.com>
To: "danchik" <danc...@rebelbase.com>
Cc: "Cocoa-Dev List" <cocoa-dev@lists.apple.com>
Sent: Thursday, April 29, 2010 8:48 PM
Subject: Re: Getting a bezier path for a character



On 30/04/2010, at 1:18 PM, danchik wrote:

by 'reverse' i meant :
[transform invert];
[transform concat];

since i'd have to first
[transform transformXBy:yBy];
[transform rotateByDegrees:];
[transform concat];
[myAttrString drawWithRect:options:]


An alternative is to bracket the drawing operation with a save and restore of the graphics context:

[NSGraphicsContext saveGraphicsState];

// set up a transform

[transform concat];

// draw stuff

[NSGraphicsContext restoreGraphicsState];

--Graham



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to