--- ray/src/hd/rhdisp.h 1997/12/11 16:45:59 3.8 +++ ray/src/hd/rhdisp.h 2011/05/20 02:06:39 3.17 @@ -1,11 +1,16 @@ -/* Copyright (c) 1997 Silicon Graphics, Inc. */ - -/* SCCSid "$SunId$ SGI" */ - +/* RCSid: $Id: rhdisp.h,v 3.17 2011/05/20 02:06:39 greg Exp $ */ /* * Header for holodeck display drivers. */ +#ifndef _RAD_RHDISP_H_ +#define _RAD_RHDISP_H_ +#include "color.h" + +#ifdef __cplusplus +extern "C" { +#endif + /* display requests */ #define DR_NOOP 0 /* to release from vain DR_ATTEN */ #define DR_BUNDLE 1 /* lone bundle request */ @@ -13,16 +18,22 @@ #define DR_SHUTDOWN 3 /* shutdown request */ #define DR_NEWSET 4 /* new bundle set */ #define DR_ADDSET 5 /* add to current set */ -#define DR_ADJSET 6 /* adjust set quantities */ +#define DR_ADJSET 6 /* adjust set quantities */ #define DR_DELSET 7 /* delete from current set */ +#define DR_KILL 8 /* kill rtrace process(es) */ +#define DR_RESTART 9 /* restart rtrace */ +#define DR_CLOBBER 10 /* clobber holodeck */ +#define DR_VIEWPOINT 11 /* set desired eye position */ /* server responses */ -#define DS_BUNDLE 8 /* computed bundle */ -#define DS_ACKNOW 9 /* acknowledge request for attention */ -#define DS_SHUTDOWN 10 /* end process and close connection */ -#define DS_ADDHOLO 11 /* register new holodeck */ -#define DS_STARTIMM 12 /* begin immediate bundle set */ -#define DS_ENDIMM 13 /* end immediate bundle set */ +#define DS_BUNDLE 32 /* computed bundle */ +#define DS_ACKNOW 33 /* acknowledge request for attention */ +#define DS_SHUTDOWN 34 /* end process and close connection */ +#define DS_ADDHOLO 35 /* register new holodeck */ +#define DS_STARTIMM 36 /* begin immediate bundle set */ +#define DS_ENDIMM 37 /* end immediate bundle set */ +#define DS_OUTSECT 38 /* render from outside sections */ +#define DS_EYESEP 39 /* eye separation distance */ /* * Normally, the server channel has priority, with the display process @@ -39,8 +50,8 @@ #endif typedef struct { - int2 type; /* message type */ - int4 nbytes; /* number of additional bytes */ + int16 type; /* message type */ + int32 nbytes; /* number of additional bytes */ } MSGHEAD; /* message head */ /* @@ -56,3 +67,24 @@ typedef struct { * The standard output will always be available for writing, though it * may go to /dev/null. */ + + + /* rhdisp.c */ +extern void serv_request(int type, int nbytes, char *p); +extern int serv_result(void); + /* rhdisp2.c */ +extern int beam_sync(int all); +extern void beam_init(int fresh); +//extern int16 * beam_view(VIEW *vn, int hr, int vr); + /* rhdisp2.c, rhdisp3.c */ +extern void gridlines(void (*f)(FVECT wp[2])); + /* rhd_ctab.c */ +extern int new_ctab(int ncolors); +extern int get_pixel(uby8 rgb[3], void (*set_pixel)(int h, int r, int g, int b)); + + +#ifdef __cplusplus +} +#endif +#endif /* _RAD_RHDISP_H_ */ +