Re: determining the display size (IDL) [message #17960 is a reply to message #17885] |
Thu, 18 November 1999 00:00   |
davidf
Messages: 2866 Registered: September 1996
|
Senior Member |
|
|
Robert S. Mallozzi (mallors@msfc.nasa.gov) writes:
> You might want use the GET_SCREEN_SIZE () function
> instead, as it won't crash if the device is
> not set "properly":
>
> IDL> PRINT, !D.NAME
> X
> IDL> DEVICE, GET_SCREEN_SIZE = s & PRINT, s
> 1024 768
> IDL> s = GET_SCREEN_SIZE () & PRINT, s
> % Compiled module: GET_SCREEN_SIZE.
> 1024.00 768.000
> IDL> SET_PLOT, 'PS'
> IDL> DEVICE, GET_SCREEN_SIZE = s & PRINT, s
> % Keyword GET_SCREEN_SIZE not allowed in call to: DEVICE
> % Execution halted at: $MAIN$
> IDL> PRINT, !D.NAME
> PS
> IDL> s = GET_SCREEN_SIZE () & PRINT, s
> 1024.00 768.000
Whoa! Did you see the code for GET_SCREEN_SIZE!?
They realize an *unmapped* object draw widget
on the device. Then get the screen dimensions
from the window object. Nice trick, because
devices that don't support windows don't complain
until a window actually shows up on the display,
which this one never does.
Who said objects weren't powerful! :-)
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
|
|
|