Re: Erasing drawn content
Re: Erasing drawn content
- Subject: Re: Erasing drawn content
- From: Matej Bukovinski <email@hidden>
- Date: Tue, 8 Jun 2010 17:41:04 +0200
Thanks for the suggestion Steve.
Unfortunately this causes the background to turn black and not transparent. I would need the view to become transparent (so the WebView underneath is visible).
On 8.6.2010, at 16:04, Steve Christensen wrote:
> Perhaps call NSRectFillUsingOperation(rect, NSCompositeClear) before drawing each rectangle?
>
>
> On Jun 8, 2010, at 5:32 AM, Matej Bukovinski wrote:
>
>> * PGP Bad Signature, Signed by an unverified key
>>
>> Hi,
>>
>> In a cocoa application that I'm developing I have a custom NSView subclass that I use as an overlay view for annotating a WebView. The overlay view draws semi-trasparent rectangles in its drawRect: method for DOM elements that were selected by the user.
>>
>> Since the fill color for the drawn rectangles is semi-transparent, the pixel values get added up when a smaller rectangle is drawn over a larger one (here's an example http://cl.ly/4fecb8fac0abff6ef6ac , as you can see the smaller rectangle has a darker background because of the larger rectangle, that was drawn first). This is especially problematic if the rectangles are of different colors, since color mixing occurs.
>>
>> I would like to prevent this sort of behavior by somehow "erasing" the content that was perviously drawn (i.e., making the background transparent again) before drawing with a new element. Does anyone have an idea how to achieve this?
>>
>> Thank you for your time.
>>
>> Best regards,
>> Matej
>>
>>
>> * Matej Bukovinski <email@hidden>
>> * Issuer: The USERTRUST Network - Unverified
>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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