1 /*----------------------------------------------------------------------------
2                       styledisp.cc (give style name)
3                        This file is a part of topaz systems
4                   Copyright: Hisao Kawaura, All rights reserved
5                                    1997 - 98
6 
7 
8     This program is free software; you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by
10     the Free Software Foundation; either version 2 of the License, or
11     (at your option) any later version.
12 
13     This program is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     GNU General Public License for more details.
17 
18     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21 
22 ----------------------------------------------------------------------------*/
23 
24 #include <string>
25 #include "col.h"
26 #include "styledisp.h"
27 #include "data.h"
28 #include "frame.h"
29 
getlinestylename(int id,std::string * out)30 bool getlinestylename(int id, std::string *out)
31 {
32   switch(id)
33     {
34     case LINESTYLESOLID:
35       *out = std::string("solid");
36       break;
37     case LINESTYLEDASH:
38       *out = std::string("dash");
39       break;
40     case LINESTYLELONGDASH:
41       *out = std::string("longdash");
42       break;
43     case LINESTYLESHORTDASH:
44       *out = std::string("shortdash");
45       break;
46     case LINESTYLEDASHDOTDASH:
47       *out = std::string("-*-");
48       break;
49     case LINESTYLEDASHDOTDOTDASH:
50       *out = std::string("-**-");
51       break;
52     case LINESTYLEDOT:
53       *out = std::string("dot");
54       break;
55     case LINESTYLENULL:
56       *out = std::string("null");
57       break;
58     default:
59       *out = std::string("");
60       return false;
61     }
62   return true;
63 }
64 
getcolorname(unsigned int r,unsigned int g,unsigned int b,std::string * out)65 bool getcolorname(unsigned int r, unsigned int g,unsigned int b, std::string *out)
66 {
67   char stemp[100];
68 
69   if (r == 0 && g == 0 && b == 0)
70     *out = std::string("black");
71 
72   else if (r == 32768 && g == 32768 && b == 32768)
73     *out = std::string("gray");
74 
75   else if (r == 65535 && g == 65535 && b == 65535)
76     *out = std::string("white");
77 
78   else if (r == 65535 && g == 0 && b == 0)
79     *out = std::string("red");
80 
81   else if (r == 0 && g == 65535 && b == 0)
82     *out = std::string("green");
83 
84   else if (r == 0 && g == 0 && b == 65535)
85     *out = std::string("blue");
86 
87   else if (r == 65535 && g == 65535 && b == 0)
88     *out = std::string("yellow");
89 
90   else if (r == 65535 && g == 0 && b == 65535)
91     *out = std::string("magenta");
92 
93   else if (r == 0 && g == 65535 && b == 65535)
94     *out = std::string("cyan");
95 
96   else if (r == 65535 && g == 65535 && b == 32768)
97     *out = std::string("L-yellow");
98 
99   else if (r == 65535 && g == 32768 && b == 65535)
100     *out = std::string("L-magenta");
101 
102   else if (r == 32768 && g == 65535 && b == 65535)
103     *out = std::string("L-cyan");
104 
105   else if (r == 65535 && g == 32768 && b == 32768)
106     *out = std::string("L-red");
107 
108   else if (r == 32768 && g == 65535 && b == 32768)
109     *out = std::string("L-green");
110 
111   else if (r == 32768 && g == 32768 && b == 65535)
112     *out = std::string("L-blue");
113 
114   else if (r == 65535 && g == 32768 && b == 0)
115     *out = std::string("orange");
116 
117   else if (r == 65535 && g == 0 && b == 32768)
118     *out = std::string("wine");
119 
120   else if (r == 32768 && g == 32768 && b == 0)
121     *out = std::string("D-yellow");
122 
123   else if (r == 32768 && g == 0 && b == 32768)
124     *out = std::string("D-magenta");
125 
126   else if (r == 0 && g == 32768 && b == 32768)
127     *out = std::string("D-cyan");
128 
129   else if (r == 32768 && g == 0 && b == 0)
130     *out = std::string("D-red");
131 
132   else if (r == 0 && g == 32768 && b == 0)
133     *out = std::string("D-green");
134 
135   else if (r == 0 && g == 0 && b == 32768)
136     *out = std::string("D-blue");
137 
138   else
139     {
140       sprintf(stemp, "%u,%u,%u", r, g, b);
141       *out = std::string(stemp);
142     }
143   return true;
144 }
145 
getmarkerstylename(int id,std::string * out)146 bool getmarkerstylename(int id, std::string *out)
147 {
148   switch(id)
149     {
150     case MARKER_NULL:
151       *out = std::string("null");
152       break;
153     case MARKER_SQUARE:
154       *out = std::string("square");
155       break;
156     case MARKER_TRIANGLE:
157       *out = std::string("triangle");
158       break;
159     case MARKER_REVTRIANGLE:
160       *out = std::string("rev. tri.");
161       break;
162     case MARKER_DIAMOND:
163       *out = std::string("diamond");
164       break;
165     case MARKER_CROSS:
166       *out = std::string("cross");
167       break;
168     case MARKER_DCROSS:
169       *out = std::string("diag. cr.");
170       break;
171     case MARKER_VAREA:
172       *out = std::string("v. area");
173       break;
174     case MARKER_HAREA:
175       *out = std::string("h. area");
176       break;
177     case MARKER_VBAR:
178       *out = std::string("v. bar");
179       break;
180     case MARKER_HBAR:
181       *out = std::string("h. bar");
182       break;
183     case MARKER_VSTEP:
184       *out = std::string("v. step");
185       break;
186     case MARKER_HSTEP:
187       *out = std::string("h. step");
188       break;
189     default:
190       *out = std::string("");
191       return false;
192     }
193   return true;
194 }
195 
getframetypename(int type,std::string * out)196 bool getframetypename(int type, std::string *out)
197 {
198   switch(type)
199     {
200     case FRAME_BOX:
201       *out = std::string("box");
202       break;
203     case FRAME_XY:
204       *out = std::string("x-y");
205       break;
206     case FRAME_INDIV:
207       *out = std::string("independent");
208       break;
209     default:
210       *out = std::string("");
211       return false;
212     }
213   return true;
214 }
215 
216 
217 
218 
219 
220