And along the same line of thinking (whilst I'm out here in the lazy-programmer-shortcuts doghouse), what I have sometimes done is to detect which region a click is in, without all the is-this-point-inside-this-path geometry math, is to overlay the area with a translucent image (alpha = 1 = undetectable) and then use one of the RGB color components to distinguish between up to 255 regions. Need to keep an eye on the memory usage, though, as in don't start leaving no-longer-needed megabyte-size bitmaps all over the place.