ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/rpaint.h
Revision: 2.10
Committed: Wed Oct 5 17:20:55 2011 UTC (12 years, 6 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad4R1
Changes since 2.9: +8 -1 lines
Log Message:
Windows compatibility changes from Bill Hoffman

File Contents

# User Rev Content
1 greg 2.10 /* RCSid $Id: rpaint.h,v 2.9 2008/09/05 19:45:41 greg Exp $ */
2 greg 1.1 /*
3     * rpaint.h - header file for image painting.
4 greg 2.2 */
5 schorsch 2.4 #ifndef _RAD_RPAINT_H_
6     #define _RAD_RPAINT_H_
7 schorsch 2.6
8     #include "driver.h"
9     #include "view.h"
10    
11 schorsch 2.4 #ifdef __cplusplus
12     extern "C" {
13     #endif
14 greg 1.1
15 greg 2.10 #ifdef _WIN32 /* stupid Windows name collisions */
16     #undef COORD
17     #define COORD radCOORD
18     #undef RECT
19     #define RECT radRECT
20     #endif
21    
22 greg 1.1 typedef short COORD; /* an image coordinate */
23    
24     typedef struct pnode {
25     struct pnode *kid; /* children */
26     COORD x, y; /* position */
27 greg 2.8 COORD xmin, ymin, xmax, ymax; /* rectangle */
28 greg 1.1 COLOR v; /* value */
29     } PNODE; /* a paint node */
30    
31     /* child ordering */
32     #define DL 0 /* down left */
33     #define DR 1 /* down right */
34     #define UL 2 /* up left */
35     #define UR 3 /* up right */
36    
37     #define newptree() (PNODE *)calloc(4, sizeof(PNODE))
38    
39     typedef struct {
40     COORD l, d, r, u; /* left, down, right, up */
41     } RECT; /* a rectangle */
42    
43     extern PNODE ptrunk; /* the base of the image tree */
44    
45     extern VIEW ourview; /* current view parameters */
46     extern VIEW oldview; /* previous view parameters */
47 greg 1.2 extern int hresolu, vresolu; /* image resolution */
48 greg 1.1
49 greg 2.8 extern int newparam; /* parameter setting changed */
50    
51     extern char *dvcname; /* output device name */
52    
53     extern char rifname[]; /* rad input file name */
54    
55     extern int psample; /* pixel sample size */
56     extern double maxdiff; /* max. sample difference */
57    
58 greg 1.1 extern int greyscale; /* map colors to brightness? */
59    
60     extern int pdepth; /* image depth in current frame */
61     extern RECT pframe; /* current frame rectangle */
62    
63     extern double exposure; /* exposure for scene */
64    
65     extern struct driver *dev; /* driver functions */
66    
67 greg 2.8 extern int nproc; /* number of processes */
68    
69 greg 2.2 /* defined in rview.c */
70     extern void devopen(char *dname);
71     extern void devclose(void);
72     extern void printdevices(void);
73     extern void command(char *prompt);
74     extern void rsample(void);
75 greg 2.8 extern int refine(PNODE *p, int pd);
76 greg 2.2 /* defined in rv2.c */
77     extern void getframe(char *s);
78     extern void getrepaint(char *s);
79     extern void getview(char *s);
80     extern void lastview(char *s);
81     extern void saveview(char *s);
82     extern void loadview(char *s);
83 greg 2.7 extern void getfocus(char *s);
84 greg 2.2 extern void getaim(char *s);
85     extern void getmove(char *s);
86     extern void getrotate(char *s);
87     extern void getpivot(char *s);
88     extern void getexposure(char *s);
89     extern int getparam(char *str, char *dsc, int typ, void *p);
90     extern void setparam(char *s);
91     extern void traceray(char *s);
92     extern void writepict(char *s);
93     /* defined in rv3.c */
94     extern int getrect(char *s, RECT *r);
95     extern int getinterest(char *s, int direc, FVECT vec, double *mp);
96     extern float *greyof(COLOR col);
97 greg 2.8 extern int paint(PNODE *p);
98     extern int waitrays(void);
99     extern void newimage(char *s);
100 greg 2.2 extern void redraw(void);
101     extern void repaint(int xmin, int ymin, int xmax, int ymax);
102 greg 2.8 extern void paintrect(PNODE *p, RECT *r);
103     extern PNODE *findrect(int x, int y, PNODE *p, int pd);
104 greg 2.9 extern void compavg(PNODE *p);
105 greg 2.2 extern void scalepict(PNODE *p, double sf);
106     extern void getpictcolrs(int yoff, COLR *scan, PNODE *p,
107     int xsiz, int ysiz);
108     extern void freepkids(PNODE *p);
109     extern void newview(VIEW *vp);
110     extern void moveview(double angle, double elev, double mag, FVECT vc);
111     extern void pcopy(PNODE *p1, PNODE *p2);
112     extern void zoomview(VIEW *vp, double zf);
113    
114 schorsch 2.4
115     #ifdef __cplusplus
116     }
117 greg 2.2 #endif
118 schorsch 2.4 #endif /* _RAD_RPAINT_H_ */
119