On 29 Oct, 2012, at 9:29 PM, Kyle Sluder <k...@ksluder.com> wrote: > On Mon, Oct 29, 2012, at 06:22 AM, Roland King wrote: >> I have a graphics context and a path and I want to clip everything inside >> the path, ie not display it, and leave everything outside the path >> displayed. The path is simple and doesn't cross itself, for sake of >> example it may as well be a circle. If I start with a clip-free GC and >> set that circle as a clipping path, I'll get the opposite, everything in >> the circle will show, how do I do the other way around? Does it work if I >> set a path at the bound rect of the GC plus my shape in the middle? That >> would seem to have two crossings to get into the shape, one at the bounds >> of the rect, one as you cross the shape, which should mean everything >> inside the shape is 'outside' but does a path at the very extremities of >> the GC, or even outside it, count as 'crossed'? > > From the CGContextClip documentation: > >> The function uses the nonzero winding number rule to calculate the >> intersection of the current path with the current clipping path. > > So try specifying your control points in the opposite order. > > --Kyle Sluder
Doesn't help I'm afraid. If I only have that one, single, path, the even-odd rule returns odd inside the path/circle so it's inside and the non-zero returns either 1 or -1 depending on the order of the control points so either way so that's inside too and in either case they get clipped in, not clipped out. I think I need two paths, one at the boundary of the context and one inside it, but I haven't managed to quite get my head around it. _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com