;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ ;+ ; NAME:openps ; ; PURPOSE:ouverture de l''environement Postscript. au passage on sauve ; la palette dans les vecteurs rouge, vert et bleu puis on palit la ; couleur a l''aide ce palit. ; ; CALLING SEQUENCE:openps[,nomfich] ; ; INPUTS: ; nomfich: string donnant le nom du fichier ps a ouvrir, evite ; que openps ose la question :'Nom du fichier Postscript?' ; ; KEYWORD PARAMETERS: ; ; FILENAME: meme role que nomfich mais comme c''est un mot cle, ; il peut passer a travers les differentes routines via ; INFOWIDGET: a egaler a une variable qui contiendra l''id du ; widget qui informe qu''un cree un widget. ; _EXTRA: tous les mots cles se rapportant a la procedure device ; ; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr) ; 21/12/98 ; 1/2/98: ajout de nomfich en input ; 1/9/1999: ajout du mot cle FILENAME et du widget ;- ;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ pro openps, nomfichier, FILENAME = filename, INFOWIDGET = infowidget, _extra = ex @common if !d.name EQ 'PS' then device,/close set_plot,'ps' ;------------------------------------------------------------ ; on sauve la palette ds rou, vert et bleu ;------------------------------------------------------------ tvlct, rouge, vert, bleu, /get palit,coefpalit ;------------------------------------------------------------ ; on choisit le nom du fichier ;------------------------------------------------------------ if keyword_set(filename) then nomfich = filename if n_elements(nomfichier) NE 0 then nomfich = nomfichier ; il faut choisir if n_elements(nomfich) EQ 0 then $ nomfich = xquestion('Nom du fichier Postscript?', 'idl.ps', /chkwid) nomfich = isafile(file = nomfich, iodir = psdir, /new) ;------------------------------------------------------------ ; on determine xsize, ysize, xoffset et yoffset ;------------------------------------------------------------ if key_portrait EQ 1 then begin xs = petitfeuille ys = grandfeuille xoff = 0 yoff = 0 ENDIF ELSE BEGIN xs = grandfeuille ys = petitfeuille xoff = 0 yoff = grandfeuille ENDELSE ;------------------------------------------------------------ ; on ouvre le postcript ;------------------------------------------------------------ device, /color,/palatino,LANDSCAPE=1-key_portrait,PORTRAIT=key_portrait $ ,xsize=xs,ysize=ys,xoffset=xoff,yoffset=yoff $ ,filename=strcompress(nomfich, /remove_all) $ ,bits_per_pixel=8,_extra = ex !p.font=0 ; if arg_present(infowidget) then $ infowidget = xnotice('Creation du Postscript en cours...') ; return END