> > Doesn't that mean the the item stays marked as current?
> > 
> 
> 
> No.  WM.DRBDR draws/undraws the border first. Then it checks whether
> the pointer is in or out of the program's window area.

Actually, it's the other way around, wm.rptr(t) checks whether the 
pointer is out of the window and then, if yes,  undraws the border. 
But here I was asking Per about his way of doing things.


> In fact I wasn't aware of wm.rptrt until Jim Hunkins reported that it
> didn't work in C68.
> 
> But I still don't see how you tell that wm.rptrt has timed out while
> waiting on a loose item (or anywhere for that matter). If you check
> when timeout has occurred (incomplete) and look to see that you are
> now on a loose item, do you check that you were there when you called
> wm.rptrt? Even then what's to prevent you moving the pointer back to
> where it was just before timeout? Do you assume that if the position
> is exactly what it was at exit as at entry no movement has taken
> place? 
Well, why would you? wm.rptr(t) does all the work for you, in that, if 
you move the mouse pointer it draws borders around the current 
item etc, and will come back from any event generated inside the 
window. If it comes back without an event being generated, then it 
has timed out (from Basic, check the event% parameter).

If what you want to achieve is something like the little help windows 
in FiFi, this was done as follows:

The user can determine the time the pointer should hover over the 
loose item before the help window pops up. Say it is 1 second.
I read the pointer witt a very short timeout (2/50th sec) and then, 
when coming back, check whether the current item is still the 
same. If it is, I loop around until 1 s has elapsed (25 times in this 
case) and, if it is still the same LI, I open the help window. Else, I 
note the new current item number and do it again.

> It would certainly be nicer if you could use wm.rptrt than iop.rptr.
> However, does that also deal with "dragging"?

No, that is THE big things missing from that loop.

Wolfgang

Reply via email to