ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/resolu.h
(Generate patch)

Comparing ray/src/common/resolu.h (file contents):
Revision 2.2 by greg, Fri Jun 4 17:01:29 1993 UTC vs.
Revision 2.13 by greg, Thu Aug 2 18:33:42 2018 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1991 Regents of the University of California */
2 <
3 < /* SCCSid "$SunId$ LBL" */
4 <
1 > /* RCSid $Id$ */
2   /*
3   * Definitions for resolution line in image file.
4   *
5 + * Include after <stdio.h>
6 + *
7   * True image orientation is defined by an xy coordinate system
8   * whose origin is at the lower left corner of the image, with
9   * x increasing to the right and y increasing in the upward direction.
# Line 14 | Line 13
13   * A typical line for a 1024x600 image might be "-Y 600 +X 1024\n",
14   * indicating that the scanlines are in English text order (PIXSTANDARD).
15   */
16 + #ifndef _RAD_RESOLU_H_
17 + #define _RAD_RESOLU_H_
18  
19 + #include <time.h>
20 +
21 +
22 + #ifdef __cplusplus
23 + extern "C" {
24 + #endif
25 +
26                          /* flags for scanline ordering */
27   #define  XDECR                  1
28   #define  YDECR                  2
# Line 26 | Line 34
34  
35                          /* structure for image dimensions */
36   typedef struct {
37 <        int     or;             /* orientation (from flags above) */
37 >        int     rt;             /* orientation (from flags above) */
38          int     xr, yr;         /* x and y resolution */
39   } RESOLU;
40  
41                          /* macros to get scanline length and number */
42 < #define  scanlen(rs)            ((rs)->or & YMAJOR ? (rs)->xr : (rs)->yr)
43 < #define  numscans(rs)           ((rs)->or & YMAJOR ? (rs)->yr : (rs)->xr)
42 > #define  scanlen(rs)            ((rs)->rt & YMAJOR ? (rs)->xr : (rs)->yr)
43 > #define  numscans(rs)           ((rs)->rt & YMAJOR ? (rs)->yr : (rs)->xr)
44  
45                          /* resolution string buffer and its size */
46   #define  RESOLU_BUFLEN          32
# Line 47 | Line 55 | extern char  resolu_buf[RESOLU_BUFLEN];
55   #define  fprtresolu(sl,ns,fp)   fprintf(fp,PIXSTDFMT,ns,sl)
56   #define  fscnresolu(sl,ns,fp)   (fscanf(fp,PIXSTDFMT,ns,sl)==2)
57  
58 < extern char  *resolu2str();
58 >                        /* identify header lines */
59 > #define  MAXFMTLEN      64
60 > #define  isheadid(s)    headidval(NULL,s)
61 > #define  isformat(s)    formatval(NULL,s)
62 > #define  isdate(s)      dateval(NULL,s)
63 > #define  isgmt(s)       gmtval(NULL,s)
64 >
65 > #define  LATLONSTR      "LATLONG="
66 > #define  LLATLONSTR     8
67 > #define  islatlon(hl)           (!strncmp(hl,LATLONSTR,LLATLONSTR))
68 > #define  latlonval(ll,hl)       sscanf((hl)+LLATLONSTR, "%f %f", \
69 >                                                &(ll)[0],&(ll)[1])
70 > #define  fputlatlon(lat,lon,fp) fprintf(fp,"%s %.6f %.6f\n",LATLONSTR,lat,lon)
71 >
72 >                                        /* defined in resolu.c */
73 > extern void     fputresolu(int ord, int sl, int ns, FILE *fp);
74 > extern int      fgetresolu(int *sl, int *ns, FILE *fp);
75 > extern char *   resolu2str(char *buf, RESOLU *rp);
76 > extern int      str2resolu(RESOLU *rp, char *buf);
77 >                                        /* defined in header.c */
78 > extern void     newheader(const char *t, FILE *fp);
79 > extern int      headidval(char *r, const char *s);
80 > extern int      dateval(time_t *t, const char *s);
81 > extern int      gmtval(time_t *t, const char *s);
82 > extern void     fputdate(time_t t, FILE *fp);
83 > extern void     fputnow(FILE *fp);
84 > extern void     printargs(int ac, char **av, FILE *fp);
85 > extern int      formatval(char fmt[MAXFMTLEN], const char *s);
86 > extern void     fputformat(const char *s, FILE *fp);
87 > typedef int gethfunc(char *s, void *p); /* callback to process header lines */
88 > extern int      getheader(FILE *fp, gethfunc *f, void *p);
89 > extern int      globmatch(const char *pat, const char *str);
90 > extern int      checkheader(FILE *fin, char fmt[MAXFMTLEN], FILE *fout);
91 >
92 > #ifdef __cplusplus
93 > }
94 > #endif
95 > #endif /* _RAD_RESOLU_H_ */
96 >

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines