Folks,
I wanted to display some images today in a !P.MULTI situation.
It used to be that my TVIMAGE program could handle !P.MULTI
events automatically. (Don't try this at home with TV.) But
this appeared to be broken in IDL 6.0. No !P.MULTI behavior
at all!
I traced the problem to a change in how system variables
behave in IDL 6.0. Here is a sequence of plots in IDL 5.6.
Notice now the !X and !Y window fields update the plot
location as you go.
IDL> Print, !Version
{ x86 Win32 Windows Microsoft Windows 5.6 Oct 26 2002 32 64}
IDL> !P.Multi=[0,2,3]
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.0823579 0.703035 0.475299 0.981823
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.582358 0.703035 0.975299 0.981823
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.0823579 0.369702 0.475299 0.648490
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.582358 0.369702 0.975299 0.648490
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.0823579 0.0363686 0.475299 0.315157
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.582358 0.0363686 0.975299 0.315157
Here is the same sequence of commands in IDL 6.0. No updating of
the system variables. :-(
IDL> print, !Version
{ x86 Win32 Windows Microsoft Windows 6.0 Jun 27 2003 32 64}
IDL> !P.Multi=[0,2,3]
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
IDL> plot, findgen(11)
IDL> print, !X.Window[0], !Y.Window[0], !X.Window[1], !Y.Window[1]
0.150000 0.125000 0.950000 0.950000
Is this a Windows thing? Collecting data for a call to RSI. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting
Coyote's Guide to IDL Programming: http://www.dfanning.com/
|