3 <H2>Information from source codes</H2>
8 ../src/psFileContour.c:
10 ../src/psFileContour3D.c:
24 ../src/psFileString.c:
36 * PostScript File IO utility Header File
43 #define MAX_STRING_LENGTH 256
45 #define PS_FILE_STATUS_ERROR (0)
46 #define PS_FILE_STATUS_OK (1)
50 typedef long psParaTypeInteger;
51 typedef double psParaTypeReal;
53 typedef struct psInfo {
54 psParaTypeInteger prologInfoNum;
56 char label[MAX_STRING_LENGTH];
57 psParaTypeInteger page;
58 psParaTypeInteger status;
61 typedef struct psPageInfo psPageInfo;
64 psParaTypeInteger page;
65 psParaTypeInteger byte;
71 typedef struct psFile {
84 #define PROLOG_STRING_NUM (11)
86 #define PROLOG_VERSION (0)
87 #define PROLOG_TITLE (1)
88 #define PROLOG_CREATOR (2)
89 #define PROLOG_CREATION_DATE (3)
90 #define PROLOG_FOR (4)
91 #define PROLOG_BOUND_BOX (5)
92 #define PROLOG_PAGES (6)
93 #define PROLOG_DOC_FONTS (7)
94 #define PROLOG_END_DOC (8)
95 #define PROLOG_END_PRO (9)
97 typedef enum psImageScaleMode {
98 psImageScaleModeBottomLeft = 1,
99 psImageScaleModeCenter = 2
102 #define PS_IMAGE_CENTRE_LINE_WIDTH (0.1)
103 #define PS_IMAGE_CENTRE_MARK_LENGTH (0.01)
105 #define PS_IMAGE_SCALE_LINE_WIDTH0 (0.2)
106 #define PS_IMAGE_SCALE_LINE_WIDTH1 (0.1)
107 #define PS_IMAGE_SCALE_LINE_LENGTH0 (10.0)
108 #define PS_IMAGE_SCALE_LINE_LENGTH1 (5.0)
109 #define PS_IMAGE_SCALE_LINE_LENGTH2 (3.0)
110 #define PS_IMAGE_SCALE_LINE_LENGTH3 (2.0)
111 #define PS_IMAGE_SCALE_LINE_LENGTH4 (1.0)
112 #define PS_IMAGE_SCALE_LINE_LENGTH00 (-10.0)
113 #define PS_IMAGE_SCALE_LINE_LENGTH10 (-5.0)
114 #define PS_IMAGE_SCALE_LINE_LENGTH20 (-3.0)
115 #define PS_IMAGE_SCALE_LINE_LENGTH30 (-2.0)
116 #define PS_IMAGE_SCALE_LINE_LENGTH40 (-1.0)
118 #define psContourMode_DifferentLineWidthContour (0x01)
119 #define psContourMode_SameLineWidthContour (0x02)
124 typedef struct psImageInfo {
125 /* For Image Space */
126 psParaTypeReal scaleX;
127 psParaTypeReal scaleY;
128 psParaTypeReal translateX;
129 psParaTypeReal translateY;
130 psParaTypeReal angle;
133 psParaTypeInteger width;
134 psParaTypeInteger height;
135 psParaTypeInteger section;
137 psParaTypeInteger bps;
138 psParaTypeInteger nContour;
139 psParaTypeReal* contourLevel;
140 /* For Density Image */
141 unsigned char* image;
144 psParaTypeReal contourLineColorChange;
145 psParaTypeReal contourLineWidthStart;
146 psParaTypeReal contourLineWidthStep;
149 psParaTypeReal eyeX; /* Eye Position */
152 psParaTypeReal pointX; /* Projection Surface Position */
153 psParaTypeReal pointY; /* Surface Normal: (position - eye) */
154 psParaTypeReal pointZ;
157 psParaTypeInteger flagRGBColor;
158 psParaTypeInteger flagRGBGradientColor;
160 psParaTypeReal Green;
162 psParaTypeReal RedFirst;
163 psParaTypeReal GreenFirst;
164 psParaTypeReal BlueFirst;
165 psParaTypeReal RedLast;
166 psParaTypeReal GreenLast;
167 psParaTypeReal BlueLast;
168 psParaTypeInteger flagHSBColor;
169 psParaTypeInteger flagHSBGradientColor;
171 psParaTypeReal Saturation;
172 psParaTypeReal Brightness;
173 psParaTypeReal HueFirst;
174 psParaTypeReal SaturationFirst;
175 psParaTypeReal BrightnessFirst;
176 psParaTypeReal HueLast;
177 psParaTypeReal SaturationLast;
178 psParaTypeReal BrightnessLast;
180 /* For Line Colour */
181 psParaTypeInteger flagLineRGBColor;
182 psParaTypeInteger flagLineRGBGradientColor;
183 psParaTypeReal LineRed;
184 psParaTypeReal LineGreen;
185 psParaTypeReal LineBlue;
186 psParaTypeReal LineRedFirst;
187 psParaTypeReal LineGreenFirst;
188 psParaTypeReal LineBlueFirst;
189 psParaTypeReal LineRedLast;
190 psParaTypeReal LineGreenLast;
191 psParaTypeReal LineBlueLast;
192 psParaTypeInteger flagLineHSBColor;
193 psParaTypeInteger flagLineHSBGradientColor;
194 psParaTypeReal LineHue;
195 psParaTypeReal LineSaturation;
196 psParaTypeReal LineBrightness;
197 psParaTypeReal LineHueFirst;
198 psParaTypeReal LineSaturationFirst;
199 psParaTypeReal LineBrightnessFirst;
200 psParaTypeReal LineHueLast;
201 psParaTypeReal LineSaturationLast;
202 psParaTypeReal LineBrightnessLast;
205 psParaTypeReal CircleRadius;
211 #define PS_PLOT_MODE_AXIS (0x000000ff)
212 #define PS_PLOT_MODE_AXIS_X_AXIS_POS (0x00000001) /* 0: Down 1: Up */
213 #define PS_PLOT_MODE_AXIS_Y_AXIS_POS (0x00000002) /* 0: Left 1: Write */
214 #define PS_PLOT_MODE_AXIS (0x000000ff)
216 #define PS_LINE_CIRCLE_MODE (0)
217 #define PS_FILL_WHITE_CIRCLE_MODE (1)
218 #define PS_FILL_BLACK_CIRCLE_MODE (2)
220 #define PS_PLOT_SCALE_X_AXIS_Y_POSITION_DOWN ( -5.0)
221 #define PS_PLOT_SCALE_X_AXIS_Y_POSITION_UP (105.0)
222 #define PS_PLOT_SCALE_X_AXIS_LENGTH (1.0)
226 typedef struct psPlotInfo {
227 psParaTypeReal scaleX;
228 psParaTypeReal scaleY;
229 psParaTypeReal translateX;
230 psParaTypeReal translateY;
233 psParaTypeReal dXValue;
235 psParaTypeReal centreX;
240 psParaTypeReal dYValue;
242 psParaTypeReal centreY;
246 psParaTypeInteger nData;
247 psParaTypeReal *data;
255 /* prototype begin */
257 /* in psFileInit.c */
258 extern void psFileInit(psFile* ps, psParaTypeInteger mode);
260 /* in psFilePage.c */
261 extern void psFilePageStart(psFile* ps, psParaTypeInteger mode);
262 extern void psFilePageEnd(psFile* ps, psParaTypeInteger mode);
265 extern void psFileEnd(psFile* ps);
267 /* in psFileImage.c */
268 extern void psFileImage (psFile* ps, psImageInfo im, psParaTypeInteger mode);
269 extern void psFileImageByCircles (psFile* ps, psImageInfo im, psParaTypeInteger mode);
270 extern void psFileImageCentre (psFile* ps, psImageInfo im, psParaTypeInteger mode);
271 extern void psFileImageScale (psFile* ps, psImageInfo im, psParaTypeInteger mode);
272 extern void psFileImageSpaceSet (psFile* ps, psImageInfo im, psParaTypeInteger mode);
273 extern void psFileImageSpaceRotateSet (psFile* ps, psImageInfo im, psParaTypeInteger mode);
274 extern void psFileImageSpaceRestore(psFile* ps, psImageInfo im, psParaTypeInteger mode);
275 extern void psFileImageSpaceRotateRestore(psFile* ps, psImageInfo im, psParaTypeInteger mode);
277 /* in psFileLine.c */
278 extern void psFileLineWidthSet (psFile* ps, float lineWidth);
279 extern void psFileLineDraw(psFile* ps, float x1,float y1,float x2,float y2);
280 extern void psFileDendgramLineDraw(psFile* ps, float width,float height1, float height2, float x, float y);
282 /* in psFileString.c */
283 extern void psFileStringStatusSet(psFile* ps, char* fontname, double fontsize);
284 extern void psFileStringDefaultStatusSet(psFile* ps);
285 extern void psFileString (psFile* ps, char* message, double x, double y, psParaTypeInteger mode);
287 /* in psFileContour.c */
288 extern void psFileContour(psFile* ps, psImageInfo im, psParaTypeInteger mode);
289 /* in psFileCircle.c */
290 extern void psFileCircleCreate(psFile* ps, float cx, float cy, float r, long mode);
294 /* in psFileRead.c */
295 extern void psFileRead(psFile* ps, FILE* fpt, long mode);
298 /* in psFileUtil.c */
299 extern long psFileIsStartPage(psFile* ps, char* s);
300 extern long psFileIsEndPage(psFile* ps, char* s);
307 #endif /* PS_FILE_H */