[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cursor return in graphics window
Whoops, I wrote:
> Eric Williams (eric@astro.wesleyan.edu) writes:
>
> > I am trying to use cursor to return the coordinates of a mouse click in
> > a graphics window. In fact I am trying to do it twice, back to back, and
> > am running in to the problem that one mouse click is being read by both
> > cursor calls. I want to select two points with the mouse in the graphics
> > window but since one mouse click is being read by both cursor calls I am
> > getting the same coordinates for each. I have tried playing with the
> > wait keyword in cursor but that doesn't seem to make a difference.
> >
> > Any suggestions? I am doing this on a Mac right now but have the same
> > problem on my Solaris boxes.
>
> Actually, I think your problem is that you are going through
> your event handler twice on the *first* mouse click. Once
> on the down event, and once on the up event. Since you weren't
> anticipating this, you think you are getting the same
> position from two clicks. You could modify your event
> handler to look only for button DOWN events (event.type = 0).
Sorry. I just *assumed* scientific programmers use widgets.
I realize after reading my mail the past couple of days that
this is a bad assumption. :-)
The problem here is that default behaviour of the CURSOR
is to be in the WAIT mode. *But* if the cursor button
is depressed, the default behaviour is to be in a NOWAIT
mode. On fast computers (I.e., any purchased in the past
10 years or so) it is impossible to punch the button fast
enough not to get at least a couple of events generated.
The solution is to simply set the DOWN keyword on the
Cursor command.
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155