Given the standard visad 'box' whose lower left has value -1,-1 in the
visad coordinate system, and upper right of 1,1, I need to obtain the
screen coordinates of the points.
In offscreen mode, this works. The visadCanvasJ2D has an
affineTransform which takes account of the (Swing/awt) component's
physical width and height, and the MouseBehaviour object on which I call
getScreenCoords() uses the canvas's AffineTransform (I have been through
the source code).
But in onscreen mode, the canvas has no 'size' when its AffineTransform
is built, so width and height default to 1. So then MouseBehaviour's
getScreenCoords returns x' = (0.33,0,0.5) y' = (0,-0.33,0.5) which is wrong.
I see that ProjectionControl's setAspect call affects the
DisplayRenderer's AffineTransform, but this does appear to update the AT
in the canvas, as used by the MouseBehaviour.
So, how do I get screen coords in onscreen mode? I suspect that I am
overlooking something very simple here.
My app is actually an offscreen one, but I am intrigued as to how
MouseBehaviour.getScreenCoords would/should work in the general case.
Any help appreciated
Stuart Maclean
==============================================================================
To unsubscribe visad, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================