Re: [cairo] Hit detect surface?





Vladimir Vukicevic wrote:

This sounds impossible to implement with any surface but the image
backend -- cairo has no knowledge of what pixels actually get touched
by underlying platform methods.  What are the use cases for this?

Yes, that is why I said it was a *new* surface type. I would expect the code to start from the code for the Image backend. However it needs to add the code to do the callback.

Conversely removing the need to think about anything other than one pixel (or perhaps it does not bother remembering the color at all) should simplify it a lot, which may be important. In my experience with hit-detection, you have to draw the image many times, so that you can start with a larger area and narrow down until a single object is chosen. I don't believe there is any other reliable method for finding the nearest object to a click. Drawing multiple times also allows detection areas that are not rectangles, by intersecting several. In any case the Image backend is too slow for such gui work, the redraws for hit detection may slow down GUI feedback far more than the hardware-accelerated back end. Thus making a very efficient hit detect surface with no extra overhead for doing anything else is probably a good idea.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]