If you don't need to do secondary-thread drawing in your view, you don't have to. You can check which thread is sending the -drawRect method. Allow the subviews such as the aqua button to draw themselves, and skip over any thread-unsafe custom -drawRect stuff in your superview.
The only thing you would need to redraw in your superview is the tiny rect surrounding the pulsing blue aqua button. I can't really imagine what kind of complex thread-unsafe stuff would be going on in the tiny spaces around the rounded-corner edges of the button. Seems like that would typically be transparent, a background color/pattern, or something similar. You should be able to supply that minimal amount of drawing in a thread-safe fashion without too much difficulty. On Fri, Aug 14, 2009 at 8:45 AM, Frederik Slijkerman<frede...@ultrafractal.com> wrote: > Hi, > > Another question... I've noticed that Aqua animations, for example the > pulsing default button, are implemented via a separate thread, which redraws > the button repeatedly. This also causes the view (for example a custom view > that I wrote myself) that contains the button to receive a drawRect message, > of course. > > The problem is that this drawRect message is sent from the separate thread, > which means that drawing in all my custom views needs to be thread-safe. > This is a huge pain. > > Is there any way around this? Are you all always writing thread-safe > drawRect handlers? It seems like a huge responsibility to make sure this > will always work correctly... > > Thanks in advance! > > Best regards, > Frederik Slijkerman > _______________________________________________ > > 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/bravobug%40gmail.com > > This email sent to bravo...@gmail.com > _______________________________________________ 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