[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Draw widget mouse position error - follow up


Apologies for anyone who's already seen this follow up, it didn't propagate
as far as deja and I only received one e-mail reply so here goes again....

Finally a reply from RSI regarding this problem:

"After speaking to the developers at great length on this topic, they are
adamant that they doubt this has anything to do with IDL. The X and Y cursor
values are simply passed to IDL by the system, so any changes between mouse
clicks are outside of IDL's control. Therefore, if Linux is working
correctly, it is due to the operating system producing the fault and not

So is this an NT bug, can anyone reproduce this error under NT, but not
using IDL?




Original post:


I use a draw widget with motion events turned on, I've noticed that a double
click event has a different y-position to a single click event. This is
demonstrable by the code at the bottom of this message. For a double click,
the events returned give:
                                        X        Y
Cursor position =      187    110
Cursor position =      187    110
Cursor position =      187    111
Cursor position =      187    110

It is easy to work around the problem by detecting the double click
(event.clicks = 2) and subtracting 1 from event.y

I can recreate the problem on another computer of almost identical
specification to my own. I am using IDL 5.3.1 on NT 4. Can anybody recreate
this bug and on what platforms?


Oliver Smith

Print, 'Cursor position = ', Event.x, Event.y

PRO ojs

base = Widget_Base(UNAME = 'WID_BASE', SCR_XSIZE=300 ,SCR_YSIZE=200) draw =
Widget_Draw(Base, UNAME = 'WID_DRAW',SCR_XSIZE = 300, SCR_YSIZE = 200,

Widget_Control, /REALIZE, base
Xmanager, 'WID_BASE', base, /NO_BLOCK