No, each screen has multiple rects.

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).
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 ;).

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!]

Reply via email to