107 |
|
#endif |
108 |
|
|
109 |
|
|
110 |
+ |
fputresolu(ord, xres, yres, fp) /* put x and y resolution */ |
111 |
+ |
register int ord; |
112 |
+ |
int xres, yres; |
113 |
+ |
FILE *fp; |
114 |
+ |
{ |
115 |
+ |
if (ord&YMAJOR) |
116 |
+ |
fprintf(fp, "%cY %d %cX %d\n", |
117 |
+ |
ord&YDECR ? '-' : '+', yres, |
118 |
+ |
ord&XDECR ? '-' : '+', xres); |
119 |
+ |
else |
120 |
+ |
fprintf(fp, "%cX %d %cY %d\n", |
121 |
+ |
ord&XDECR ? '-' : '+', xres, |
122 |
+ |
ord&YDECR ? '-' : '+', yres); |
123 |
+ |
} |
124 |
+ |
|
125 |
+ |
|
126 |
+ |
fgetresolu(xrp, yrp, fp) /* get x and y resolution */ |
127 |
+ |
int *xrp, *yrp; |
128 |
+ |
FILE *fp; |
129 |
+ |
{ |
130 |
+ |
char buf[64], *xndx, *yndx; |
131 |
+ |
register char *cp; |
132 |
+ |
register int ord; |
133 |
+ |
|
134 |
+ |
if (fgets(buf, sizeof(buf), fp) == NULL) |
135 |
+ |
return(-1); |
136 |
+ |
xndx = yndx = NULL; |
137 |
+ |
for (cp = buf+1; *cp; cp++) |
138 |
+ |
if (*cp == 'X') |
139 |
+ |
xndx = cp; |
140 |
+ |
else if (*cp == 'Y') |
141 |
+ |
yndx = cp; |
142 |
+ |
if (xndx == NULL || yndx == NULL) |
143 |
+ |
return(-1); |
144 |
+ |
ord = 0; |
145 |
+ |
if (xndx > yndx) ord |= YMAJOR; |
146 |
+ |
if (xndx[-1] == '-') ord |= XDECR; |
147 |
+ |
if (yndx[-1] == '-') ord |= YDECR; |
148 |
+ |
if ((*xrp = atoi(xndx+1)) <= 0) |
149 |
+ |
return(-1); |
150 |
+ |
if ((*yrp = atoi(yndx+1)) <= 0) |
151 |
+ |
return(-1); |
152 |
+ |
return(ord); |
153 |
+ |
} |
154 |
+ |
|
155 |
+ |
|
156 |
|
fwritecolrs(scanline, len, fp) /* write out a colr scanline */ |
157 |
|
register COLR *scanline; |
158 |
|
int len; |