comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » TVRD() with 1024 x 1024 window: IDL or MacX 1.5 problem?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: TVRD() with 1024 x 1024 window: IDL or MacX 1.5 problem? [message #5697 is a reply to message #5506] Tue, 23 January 1996 00:00 Go to previous message
Andrew Cool is currently offline  Andrew Cool
Messages: 219
Registered: January 1996
Senior Member
joseph.b.gurman@gsfc.nasa.gov (Joseph B. Gurman) wrote:
> I'm using IDL 4.0.1a on a DEC Alpha running OpenVMS, and using a
> PowerMac 9500/132 with a PCI display card at 1200 x 1600 resolution to be
> able to display 1024 x 1024 images without chopping off the top 46 rows
> (take a look at !d.y_vsize on a ysize = 1024 window on a 1024 x 1280
> display). Everything works OK except for TVRD --- either with explicit
> arguments or just as TVRD(), it messes up the read-back image
> significantly.
>

Good morning. We too use Alphas and good ol' VMS.

Now with a little fiddling, I can get a draw widget that displays a
full 1280 by 1024 array, checked by setting the outer cell along each
side to a unique colour.

You may not need your Mac now, in which case you can send it to me 8^)

Try this:-

a. from the Desktop Workspace menu, set the border width to OTHER, and
set the OTHER width to 0
b. Also click OFF the Resize and Window border options under Border
decorations.

c. Save the Wm settings and restart the WM.

d. Try this code

;----------------------------------------------------------- -------------
PRO TEST_EVENT.ev

common data,z

type = tag_names(ev,/st)
if type EQ 'WIDGET_TIMER' THEN BEGIN
widget_control,ev.top,/destroy
return
endif

widget_control,ev.top,get_uvalue=uv

case uv of
'draw' : BEGIN
IF ev.type EQ 0 THEN BEGIN
IF ev.press EQ 2 THEN BEGIN
widget_control,ev.top,/icon
ENDIF
IF ev.press EQ 4 THEN BEGIN
widget_control,ev.top,/DESTROY
ENDIF
ENDIF
IF ev.type EQ 1 THEN BEGIN
IF ev.press EQ 0 THEN BEGIN
erase & tvscl,z
ENDIF
ENDIF
END
ELSE :
ENDCASE


END

PRO TEST

common data,z

z = lonarr(1280,1024)

; set up a cooured edge around the array

z(*,0) = 219
z(*,1023) = 219
z(0,*)=219
z(1023,*)=219

x = widget_base(TLB_FRAME_ATTR=4)
y=widget_draw(x,xs=1280,ys=1024,/BUTTON)
widget_control,x,/real

loadct,13
!P.BACKGROUND=100
erase

widget_control,x,timer=30
xmanager,'test',x

END
;----------------------------------------------------------- ------------

Now I hope I've typed that in correctly from our secure network!

What should happen:

a. A full screen window with NO borders at all

b. This will self destruct after 30 seconds, in case there's an error
in your code, and you're left with this giant window obscuring
everything else!

c. Mouse button 1 will erase the window, and draw the array z, which
should leave a distinct coloured border, 1 pixel wide, around
the window.

d. Mouse 2 should iconise the window

e. Mouse button 3 should destroy the widgets.


Note : I'm not sure what colour the border will be on your system.
we routinely limit the total colours to 220.


This may not be of any use, but it was interesting to see that it could
be done...

Cheers,

Andrew Cool

------------------------------------------------------------ -------------
Andrew Cool
|andrew.cool@dsto.defence.gov.au
High Frequency Radar Division |phone : +61 8 259 5740
Defence Science & Technology Organisation | fax : +61 8 259 6673
PO Box 1500 Salisbury, South Australia, 5108 |
------------------------------------------------------------ -------------
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: How to draw a line on an image?
Next Topic: Re: What is JAVA? was: (Re: Compiling IDL ... ever likey ?)

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 20:05:30 PDT 2025

Total time taken to generate the page: 1.20083 seconds