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.4 by greg, Mon Jan 8 13:37:49 1990 UTC vs.
Revision 2.1 by greg, Tue Nov 12 17:09:21 1991 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 33 | Line 34 | extern struct driver  *comm_init();    /* stream interfac
34   #define COM_GETCUR              2
35   #define COM_COMOUT              3
36   #define COM_COMIN               4
37 < #define NREQUESTS               5       /* number of valid requests */
37 > #define COM_FLUSH               5
38 > #define NREQUESTS               6       /* number of valid requests */
39  
40   extern struct device {                  /* interactive device */
41          char  *name;                            /* device name */
# Line 41 | Line 43 | extern struct device {                 /* interactive device */
43          struct driver  *(*init)();              /* initialize device */
44   }  devtable[];                          /* supported devices */
45  
46 + extern char  dev_default[];             /* default device name */
47 +
48   #define  MB1            ('\n')          /* mouse button 1 */
49   #define  MB2            ('\r')          /* mouse button 2 */
50   #define  MB3            (' ')           /* mouse button 3 */
# Line 75 | Line 79 | extern struct device {                 /* interactive device */
79   *  int  xmin, ymin, xmax, ymax;
80   *  {
81   *      Paint a half-open rectangle from (xmin,ymin) to (xmax,ymax)
82 < *      with the color col.  Can call repaint() if necessary.
82 > *      with the color col.
83   *  }
84   *  (*dev->getcur)(xp, yp)
85   *  int  *xp, *yp;
# Line 92 | Line 96 | extern struct device {                 /* interactive device */
96   *      string ends with '\n', the message is considered complete,
97   *      and the next call can erase it.
98   *  }
99 < *  (*dev->comin)(in)
100 < *  char  *in;
99 > *  (*dev->comin)(in, prompt)
100 > *  char  *in, *prompt;
101   *  {
102 < *      Read an edited input string from the command line.  If
103 < *      an unrecognized control character is entered, terminate
104 < *      input and return the string with only that character.
105 < *      The input string should not contain a newline.
106 < *      Must work in consort with comout.
102 > *      Print a prompt then read an edited input command line
103 > *      assuming the in buffer is big enough.  Unless prompt is NULL,
104 > *      the driver may substitute its own rview command.  This is
105 > *      the most reliable way to repaint areas of the screen.
106 > *      If the user enters an unrecognized control character,
107 > *      terminate input and return the string with only that character.
108 > *      The input string should not contain a newline.  The routines in
109 > *      editline.c may be useful.  Comin must work in consort with comout.
110 > *  }
111 > *  (*dev->flush)()
112 > *  {
113 > *      Flush output to the display.  This is guaranteed to be called
114 > *      frequently enough to keep the display up to date.
115 > *      This is an ideal time to check for device input.
116 > *      This function can be NULL for devices that don't need it.
117   *  }
118   *  xsiz, ysiz
119   *      The maximum allowable x and y dimensions.  If any

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines