ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/rpaint.h
Revision: 2.3
Committed: Tue Feb 25 02:47:23 2003 UTC (21 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
CVS Tags: rad3R5
Changes since 2.2: +2 -57 lines
Log Message:
Replaced inline copyright notice with #include "copyright.h"

File Contents

# Content
1 /* RCSid $Id$ */
2 /*
3 * rpaint.h - header file for image painting.
4 */
5
6 #include "copyright.h"
7
8 #include "driver.h"
9
10 #include "view.h"
11
12 typedef short COORD; /* an image coordinate */
13
14 typedef struct pnode {
15 struct pnode *kid; /* children */
16 COORD x, y; /* position */
17 COLOR v; /* value */
18 } PNODE; /* a paint node */
19
20 /* child ordering */
21 #define DL 0 /* down left */
22 #define DR 1 /* down right */
23 #define UL 2 /* up left */
24 #define UR 3 /* up right */
25
26 #define newptree() (PNODE *)calloc(4, sizeof(PNODE))
27
28 typedef struct {
29 COORD l, d, r, u; /* left, down, right, up */
30 } RECT; /* a rectangle */
31
32 extern PNODE ptrunk; /* the base of the image tree */
33
34 extern VIEW ourview; /* current view parameters */
35 extern VIEW oldview; /* previous view parameters */
36 extern int hresolu, vresolu; /* image resolution */
37
38 extern int greyscale; /* map colors to brightness? */
39
40 extern int pdepth; /* image depth in current frame */
41 extern RECT pframe; /* current frame rectangle */
42
43 extern double exposure; /* exposure for scene */
44
45 extern struct driver *dev; /* driver functions */
46
47 #ifdef NOPROTO
48
49 extern void devopen();
50 extern void devclose();
51 extern void printdevices();
52 extern void fillreserves();
53 extern void freereserves();
54 extern void command();
55 extern void rsample();
56 extern int refine();
57 extern void getframe();
58 extern void getrepaint();
59 extern void getview();
60 extern void lastview();
61 extern void saveview();
62 extern void loadview();
63 extern void getaim();
64 extern void getmove();
65 extern void getrotate();
66 extern void getpivot();
67 extern void getexposure();
68 extern int getparam();
69 extern void setparam();
70 extern void traceray();
71 extern void writepict();
72 extern int getrect();
73 extern int getinterest();
74 extern float *greyof();
75 extern void paint();
76 extern void newimage();
77 extern void redraw();
78 extern void repaint();
79 extern void paintrec();
80 extern PNODE *findrect();
81 extern void scalepict();
82 extern void getpictcolrs();
83 extern void freepkids();
84 extern void newview();
85 extern void moveview();
86 extern void pcopy();
87 extern void zoomview();
88
89 #else
90 /* defined in rview.c */
91 extern void devopen(char *dname);
92 extern void devclose(void);
93 extern void printdevices(void);
94 extern void fillreserves(void);
95 extern void freereserves(void);
96 extern void command(char *prompt);
97 extern void rsample(void);
98 extern int refine(PNODE *p, int xmin, int ymin,
99 int xmax, int ymax, int pd);
100 /* defined in rv2.c */
101 extern void getframe(char *s);
102 extern void getrepaint(char *s);
103 extern void getview(char *s);
104 extern void lastview(char *s);
105 extern void saveview(char *s);
106 extern void loadview(char *s);
107 extern void getaim(char *s);
108 extern void getmove(char *s);
109 extern void getrotate(char *s);
110 extern void getpivot(char *s);
111 extern void getexposure(char *s);
112 extern int getparam(char *str, char *dsc, int typ, void *p);
113 extern void setparam(char *s);
114 extern void traceray(char *s);
115 extern void writepict(char *s);
116 /* defined in rv3.c */
117 extern int getrect(char *s, RECT *r);
118 extern int getinterest(char *s, int direc, FVECT vec, double *mp);
119 extern float *greyof(COLOR col);
120 extern void paint(PNODE *p, int xmin, int ymin, int xmax, int ymax);
121 extern void newimage(void);
122 extern void redraw(void);
123 extern void repaint(int xmin, int ymin, int xmax, int ymax);
124 extern void paintrect(PNODE *p, int xmin, int ymin,
125 int xmax, int ymax, RECT *r);
126 extern PNODE *findrect(int x, int y, PNODE *p, RECT *r, int pd);
127 extern void scalepict(PNODE *p, double sf);
128 extern void getpictcolrs(int yoff, COLR *scan, PNODE *p,
129 int xsiz, int ysiz);
130 extern void freepkids(PNODE *p);
131 extern void newview(VIEW *vp);
132 extern void moveview(double angle, double elev, double mag, FVECT vc);
133 extern void pcopy(PNODE *p1, PNODE *p2);
134 extern void zoomview(VIEW *vp, double zf);
135
136 #endif