Re: IDLgrPlot and Widget event [message #54237 is a reply to message #54140] |
Fri, 25 May 2007 09:03  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Laurens writes:
> After much irritation from not being able to write a universal class for
> drawing every kind of curve, (as usual) David's suggestion to me a few
> months ago did the trick;
>
> All measures are normalized to 0->1 so Axis, Curve/Plot and Symbols, all
> are scaled to that 0-> scale; the curve draws fine.
>
> Now, I am catching the MOTION event from the mouse cursor; I want to
> have something like a crosshair to accentuate the position of the mouse
> cursor (see link for example img).
> Catching the event and drawing the polylines almost goed well, except
> for the fact that I don't seem to be able to position the lines at the
> right place. I guess this has to do since the event.x delivers me the
> pixel-position on the widget, say 98. But 98 is a bit tough to fit onto
> a scale of 0->1.
>
> So the actual question: how do I get from an event.x or event.y to a
> position in my normalized plot?
Unless I am missing something terribly obvious, don't you
just divide the point by the size of the window in pixels
to get the normalized location?
dims = oWindow -> GetDimensions()
xNormal = event.x / Float(dims[0])
yNormal = event.y / Float(dims[1])
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|