ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/driver.h
(Generate patch)

Comparing ray/src/rt/driver.h (file contents):
Revision 1.5 by greg, Tue Jan 30 11:37:34 1990 UTC vs.
Revision 2.2 by greg, Mon Apr 5 15:16:46 1993 UTC

# Line 15 | Line 15 | struct driver {                                /* driver functions */
15          int  (*getcur)();                       /* get cursor position */
16          int  (*comout)();                       /* command line output */
17          int  (*comin)();                        /* command line input */
18 +        int  (*flush)();                        /* flush output */
19          double  pixaspect;                      /* pixel aspect ratio */
20          int  xsiz, ysiz;                        /* device size */
21          int  inpready;                          /* input ready on device */
# Line 23 | Line 24 | struct driver {                                /* driver functions */
24   extern int  stderr_v();                 /* error vectors */
25   extern int  (*wrnvec)(), (*errvec)(), (*cmdvec)();
26  
27 < extern struct driver  *comm_init();     /* stream interface */
27 >                                        /* stream interface */
28 > extern struct driver  *comm_init(), *slave_init();
29                                          /* magic numbers for verification */
30   #define COM_SENDM               0x6f37
31   #define COM_RECVM               0x51da
# Line 33 | Line 35 | extern struct driver  *comm_init();    /* stream interfac
35   #define COM_GETCUR              2
36   #define COM_COMOUT              3
37   #define COM_COMIN               4
38 < #define NREQUESTS               5       /* number of valid requests */
38 > #define COM_FLUSH               5
39 > #define NREQUESTS               6       /* number of valid requests */
40  
41   extern struct device {                  /* interactive device */
42          char  *name;                            /* device name */
# Line 41 | Line 44 | extern struct device {                 /* interactive device */
44          struct driver  *(*init)();              /* initialize device */
45   }  devtable[];                          /* supported devices */
46  
47 + extern char  dev_default[];             /* default device name */
48 +
49   #define  MB1            ('\n')          /* mouse button 1 */
50   #define  MB2            ('\r')          /* mouse button 2 */
51   #define  MB3            (' ')           /* mouse button 3 */
# Line 75 | Line 80 | extern struct device {                 /* interactive device */
80   *  int  xmin, ymin, xmax, ymax;
81   *  {
82   *      Paint a half-open rectangle from (xmin,ymin) to (xmax,ymax)
83 < *      with the color col.  Can call repaint() if necessary.
83 > *      with the color col.
84   *  }
85   *  (*dev->getcur)(xp, yp)
86   *  int  *xp, *yp;
# Line 99 | Line 104 | extern struct device {                 /* interactive device */
104   *      assuming the in buffer is big enough.  Unless prompt is NULL,
105   *      the driver may substitute its own rview command.  This is
106   *      the most reliable way to repaint areas of the screen.
107 < *      If the user enters an unrecognized control character is entered,
107 > *      If the user enters an unrecognized control character,
108   *      terminate input and return the string with only that character.
109   *      The input string should not contain a newline.  The routines in
110   *      editline.c may be useful.  Comin must work in consort with comout.
111 + *  }
112 + *  (*dev->flush)()
113 + *  {
114 + *      Flush output to the display.  This is guaranteed to be called
115 + *      frequently enough to keep the display up to date.
116 + *      This is an ideal time to check for device input.
117 + *      This function can be NULL for devices that don't need it.
118   *  }
119   *  xsiz, ysiz
120   *      The maximum allowable x and y dimensions.  If any

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines