--- ray/src/rt/rpaint.h 2003/02/25 02:47:23 2.3 +++ ray/src/rt/rpaint.h 2008/08/21 07:05:59 2.8 @@ -1,19 +1,23 @@ -/* RCSid $Id: rpaint.h,v 2.3 2003/02/25 02:47:23 greg Exp $ */ +/* RCSid $Id: rpaint.h,v 2.8 2008/08/21 07:05:59 greg Exp $ */ /* * rpaint.h - header file for image painting. */ +#ifndef _RAD_RPAINT_H_ +#define _RAD_RPAINT_H_ -#include "copyright.h" - #include "driver.h" - #include "view.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef short COORD; /* an image coordinate */ typedef struct pnode { struct pnode *kid; /* children */ COORD x, y; /* position */ + COORD xmin, ymin, xmax, ymax; /* rectangle */ COLOR v; /* value */ } PNODE; /* a paint node */ @@ -35,6 +39,15 @@ extern VIEW ourview; /* current view parameters */ extern VIEW oldview; /* previous view parameters */ extern int hresolu, vresolu; /* image resolution */ +extern int newparam; /* parameter setting changed */ + +extern char *dvcname; /* output device name */ + +extern char rifname[]; /* rad input file name */ + +extern int psample; /* pixel sample size */ +extern double maxdiff; /* max. sample difference */ + extern int greyscale; /* map colors to brightness? */ extern int pdepth; /* image depth in current frame */ @@ -44,59 +57,15 @@ extern double exposure; /* exposure for scene */ extern struct driver *dev; /* driver functions */ -#ifdef NOPROTO +extern int nproc; /* number of processes */ -extern void devopen(); -extern void devclose(); -extern void printdevices(); -extern void fillreserves(); -extern void freereserves(); -extern void command(); -extern void rsample(); -extern int refine(); -extern void getframe(); -extern void getrepaint(); -extern void getview(); -extern void lastview(); -extern void saveview(); -extern void loadview(); -extern void getaim(); -extern void getmove(); -extern void getrotate(); -extern void getpivot(); -extern void getexposure(); -extern int getparam(); -extern void setparam(); -extern void traceray(); -extern void writepict(); -extern int getrect(); -extern int getinterest(); -extern float *greyof(); -extern void paint(); -extern void newimage(); -extern void redraw(); -extern void repaint(); -extern void paintrec(); -extern PNODE *findrect(); -extern void scalepict(); -extern void getpictcolrs(); -extern void freepkids(); -extern void newview(); -extern void moveview(); -extern void pcopy(); -extern void zoomview(); - -#else /* defined in rview.c */ extern void devopen(char *dname); extern void devclose(void); extern void printdevices(void); -extern void fillreserves(void); -extern void freereserves(void); extern void command(char *prompt); extern void rsample(void); -extern int refine(PNODE *p, int xmin, int ymin, - int xmax, int ymax, int pd); +extern int refine(PNODE *p, int pd); /* defined in rv2.c */ extern void getframe(char *s); extern void getrepaint(char *s); @@ -104,6 +73,7 @@ extern void getview(char *s); extern void lastview(char *s); extern void saveview(char *s); extern void loadview(char *s); +extern void getfocus(char *s); extern void getaim(char *s); extern void getmove(char *s); extern void getrotate(char *s); @@ -117,13 +87,13 @@ extern void writepict(char *s); extern int getrect(char *s, RECT *r); extern int getinterest(char *s, int direc, FVECT vec, double *mp); extern float *greyof(COLOR col); -extern void paint(PNODE *p, int xmin, int ymin, int xmax, int ymax); -extern void newimage(void); +extern int paint(PNODE *p); +extern int waitrays(void); +extern void newimage(char *s); extern void redraw(void); extern void repaint(int xmin, int ymin, int xmax, int ymax); -extern void paintrect(PNODE *p, int xmin, int ymin, - int xmax, int ymax, RECT *r); -extern PNODE *findrect(int x, int y, PNODE *p, RECT *r, int pd); +extern void paintrect(PNODE *p, RECT *r); +extern PNODE *findrect(int x, int y, PNODE *p, int pd); extern void scalepict(PNODE *p, double sf); extern void getpictcolrs(int yoff, COLR *scan, PNODE *p, int xsiz, int ysiz); @@ -133,4 +103,9 @@ extern void moveview(double angle, double elev, double extern void pcopy(PNODE *p1, PNODE *p2); extern void zoomview(VIEW *vp, double zf); + +#ifdef __cplusplus +} #endif +#endif /* _RAD_RPAINT_H_ */ +