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