[cairo] DrawingArea events - cross posted
donn.ingle at gmail.com
Thu Nov 8 23:27:11 PST 2007
Since I have been a visitor here and you have given me some good advice, I
thought I'd try asking this here too; it's already on the pygtk list. It's
not strictly anything to do with cairo, but I have to try.
I have a rudimentary app going that draws <cairo commands> down onto a
gtk.DrawingArea. On each loop they pile up, like so many pixels.
I want to be able to bring "life" to each shape (rep by an object internally)
such that they:
* detect mouse enter/leave
* detect mouse clicks
* detect key press
Being ill informed I wanted to ask here before I start with my first thought
which is: Loop through each object per mouse/key event and check if the
event.x and event.y is within it's rough bounds and if that object is not
covered by others. A daunting task and horribly slow.
Ideally, I would like to set a "hit shape" for each active object so that it
reacts to an accurate area rather than a general bounding circle/box.
I would appreciate any hints on how to set the ball rolling.
More information about the cairo