source: trunk/COULEURS/newpalette.pro @ 2

Last change on this file since 2 was 2, checked in by opalod, 22 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.3 KB
Line 
1;------------------------------------------------------------
2;------------------------------------------------------------
3;------------------------------------------------------------
4;+
5; NAME:newpalette
6;
7; PURPOSE:permet de stocker la palette qui est a l''ecran dans un
8; fichier du meme type que celui fournit par defaut dans IDL:
9; 'colors1.tbl'.
10;
11; CATEGORY:pour garder ses jolies palettes perso.
12;
13; CALLING SEQUENCE:newpalette,nom_de_palette
14;
15; INPUTS:nom_de_palette: c'est un string qui contient le nom de la
16; nouvelle palette que l''on veut ecrire.
17;
18; KEYWORD PARAMETERS:
19;
20; OVER: c''est un entier qui designe le numero de la palette que l''on
21; veut remplacer par la palette a l''ecran.
22;
23; + ceux de modifyct
24;
25; rq: si le mot cle file n''est pas specifie, on cherche un fichier
26; contenant les palettes du nom de palette.tbl.
27; Ce fichier peut etre dans n''importe quel repertoire du !path
28; Par contre il doit etre en droit d''ecriture
29;
30; MODIFICATION HISTORY: Guillaume Roulet (gr@lodyc.jussieu.fr)
31;                       30/3/1999 s.masson, ajout de _extra, de le
32;                       recherche du nom complet, de OVER et du blabla
33;                       5/5/1999 s.masson, va copie eventuelle du
34;                       fichier contenant les palettes
35;-
36;------------------------------------------------------------
37;------------------------------------------------------------
38;------------------------------------------------------------
39pro newpalette,nom, OVER = over, _extra = ex
40; le mot cle file est passe par l''intermediere de EXTRA?
41; definition du mon du fichier qui contient les palettes de couleur
42   if n_elements(ex) NE 0 then BEGIN
43      if (where(tag_names(ex) EQ 'FILE'))[0] NE -1 then nompal=ex.FILE ELSE nompal='palette.tbl'
44   ENDIF ELSE nompal = 'palette.tbl'
45   nomcourt = nompal
46; quelle est l''adresse complete de nompal?
47   nompal = find(nompal)
48   if nompal[0] NE 'NOT FOUND' then begin
49      nompal = nompal[0]
50; nompal nous appartient???
51      spawn, 'whoami', login
52      appartient = strpos(nompal, login[0])
53      if appartient EQ -1 then begin
54         ouinon = report('Le fichier '+nompal+' ne vous appartient pas, Voulez-vous copier le fichier '+nomcourt+' dans le repertoire courant: '+current+' ?', /default_no, /question)
55         if ouinon then return ELSE BEGIN
56            spawn, 'cp '+nompal+' '+nomcourt ; on copie
57            nompal = nomcourt
58            spawn,  'chmod u+w '+nompal ; on se donne les droits d''ecriture
59         ENDELSE
60      endif
61   ENDIF ELSE BEGIN             ; aucun fichier nompal a ete trouve
62      nompal = nomcourt         ; on recupe le nompal d''origine
63      ouinon = report('le fichier de palettes demande '+nompal+' n''existe pas ds les repertoires !path. Voulez-vous cree un fichier '+nompal+' dans le repertoire courant', /default_no, /question)
64      if NOT ouinon then return
65      nomfichsource = filepath('colors1.tbl', subdir=['resource', 'colors'])
66      spawn,'cp '+nomfichsource+' '+nompal ; on copie
67      spawn,  'chmod u+w '+nompal ; on se donne les droits d''ecriture
68   ENDELSE
69
70   if n_elements(ex) NE 0 then $
71    if (where(tag_names(ex) EQ 'FILE'))[0] NE -1 then ex.FILE = nompal
72;
73   tvlct,r,g,b,/get
74   r=congrid(r,256)
75   g=congrid(g,256)
76   b=congrid(b,256)
77   IF n_elements(over) EQ 0 then over = 255
78   modifyct,over,nom,r,g,b,file=nompal, _extra = ex
79;
80   return
81end
Note: See TracBrowser for help on using the repository browser.