--- ray/src/hd/rhdriver.h 1997/11/20 18:06:16 3.2 +++ ray/src/hd/rhdriver.h 1997/12/11 09:34:51 3.7 @@ -17,9 +17,13 @@ extern struct driver { /* dev_input() return flags */ #define DEV_SHUTDOWN 01 /* user shutdown request */ -#define DEV_NEWVIEW 02 /* view change (new view in odev.v) */ -#define DEV_NEWSIZE 04 /* device resolution change */ -#define DEV_WAIT 010 /* pause computation and wait for input */ +#define DEV_NEWVIEW 02 /* view change (new view in odev.v) */ +#define DEV_NEWSIZE 04 /* device resolution change */ +#define DEV_WAIT 010 /* pause computation and wait for input */ +#define DEV_RESUME 020 /* resume after pause */ +#define DEV_REDRAW 040 /* redraw from server */ +#define DEV_PUTVIEW 0100 /* print out current view */ +#define DEV_LASTVIEW 0200 /* restore previous view */ /************************************************************************ @@ -35,19 +39,23 @@ The view type, horizontal and vertical view angles and parameters in odev.v should also be assigned. -void +int dev_view(nv) : set display view parameters VIEW *nv; : the new view Updates the display for the given view change. Look for nv==&odev.v when making view current after dev_input() -returns DEV_NEWVIEW flag. +returns DEV_NEWVIEW flag. Return 1 on success, or 0 if the +new view would conflict with device requirements. In the latter +case, reset parameters in nv to make it more agreeable, calling +error(COMMAND, "appropriate user warning"). void -dev_value(c, p) : register new point of light +dev_value(c, p, v) : register new point of light COLR c; : pixel color (RGBE) FVECT p; : world intersection point +FVECT v; : ray direction vector Add the given color point to the display output queue.