No, each screen has multiple rects.Hmmm... interesting optimization question. The first thing I think of in these situations is grouping stuff so that entire groups can be ignored. Perhaps you can do a run through the rects on entering a screen, and make sub-groups. You could group rects in the top left quadrant, top right, bottom right, and bottom left, and then dump any that overlap quadrants into a fifth group. Then you could first check if the mouse is inside a quadrant's rect, and limit your check to that quadrant group and the overlap group. There's probably a better way to group them so that you don't have the fifth group - perhaps some of the smarter list members can think of an elegant way to do that ;).
Ie the full presentation is a bigass proplist with each screen having a
proplist of hitrects. Each rect actually has different things to do, so
with the repeat loop returns the right one within the hitlist, the
behavior knows what function to call.
I think it's just messy code to tell you the truth (this is one of those
painful agencies that keeps changing their mind and never giving you more
than 2 minutes to change something).
So really what I'll end up doing is having another proplist of pActiveHit.
if not(inside(the mouseloc, pActiveHit) then (rip through the hitlist).
2 cents,
Kurt
[To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]