[whatwg] isPointInPath v. set of pixels in canvas hit regions

Simon Fraser smfr at me.com
Thu Jul 5 16:03:40 PDT 2012


On Jul 5, 2012, at 2:25 PM, Ian Hickson <ian at hixie.ch> wrote:

> On Thu, 5 Jul 2012, Edward O'Connor wrote:
>> 
>> As things currently stand in the spec, implementations basically need to 
>> keep N+1 bitmaps per canvas, where N is the number of hit regions. I 
>> doubt any implementors would be enthusiastic to implement hit regions 
>> like this. From a WebKit perspective, we'd much prefer keeping a Path 
>> for each hit region, and then simply using isPointInPath for hit 
>> testing. This also implies that the current piggybacking of "Clear 
>> regions that cover the pixels" in clearRect() could go away. Yay! :)
> 
> You only need one bitmap to implement the hit testing.
> 
> (Or you can do it using paths, sure. The effect is the same, but it's 
> probably quicker to use a bitmap.)

I don't think the spec should be written with a particular implementation in mind, nor should it dictate one.

I also strongly object to having to update this hit testing bitmap and/or path set on drawing operations like clearRect(). That will potentially hurt performance. I think its up to the author to manage their set of paths appropriately, independently from the drawing operations.

Simon





More information about the whatwg mailing list