On Sun, Mar 15, 2009 at 4:53 PM, Philip Kime <phi...@kime.org.uk> wrote:
> With a minor change, this worked perfectly - many thanks to both people who
> responded. I am simply unaware of a lot of the API here so hadn't looked at
> these functions.

It's worth noting that you're going about this problem a bit
backwards.  Typically, one maintains the view's state separate from
its actual window buffer, using this state information inside of
-drawRect:.  Relying on your window's backing store to remain
unchanged so that you can reverse the effects of your previous drawing
is perilous, since any code at any time can call -lockFocus on your
view/window and doodle all over your previous drawing.  In fact, this
is precisely what the focus ring does.

Your best bet is to instead store a flag and use that flag's value to
change how you draw inside -drawRect:.  Use -setNeedsDisplayInRect: to
tell your view to redraw.

--Kyle Sluder
_______________________________________________

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