ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rhdisp.c
(Generate patch)

Comparing ray/src/hd/rhdisp.c (file contents):
Revision 3.23 by gregl, Thu Jan 8 21:19:05 1998 UTC vs.
Revision 3.24 by gwlarson, Thu May 14 13:06:32 1998 UTC

# Line 93 | Line 93 | char   *argv[];
93                          if (inp & DFL(DC_PAUSE))
94                                  pause = 1;
95                          if (inp & DFL(DC_REDRAW))
96 <                                imm_mode = beam_sync() > 0;
96 >                                imm_mode = beam_sync(1) > 0;
97                          if (inp & DFL(DC_KILL)) {
98                                  serv_request(DR_KILL, 0, NULL);
99                                  pause = 0;
# Line 247 | Line 247 | register VIEW  *v;
247   {
248          static VIEW     viewhist[VIEWHISTLEN];
249          static unsigned nhist;
250 +        VIEW    *dv;
251 +        int     i, res[2];
252          char    *err;
253                                  /* restore previous view? */
254          if (v == NULL) {
# Line 266 | Line 268 | again:
268                  error(COMMAND, "cannot handle parallel views");
269                  return;
270          }
271 <        if (!dev_view(v))       /* update display driver */
271 >        if (!dev_view(v))       /* notify display driver */
272                  goto again;
273          dev_flush();            /* update screen */
274 <        if (!beam_view(v))      /* update beam list */
275 <                goto again;
274 >        beam_init();            /* compute new beam set */
275 >        for (i = 0; (dv = dev_auxview(i, res)) != NULL; i++)
276 >                if (!beam_view(dv, res[0], res[1])) {
277 >                        if (!nhist) {
278 >                                error(COMMAND, "invalid starting view");
279 >                                return;
280 >                        }
281 >                        copystruct(v, viewhist + ((nhist-1)%VIEWHISTLEN));
282 >                        goto again;
283 >                }
284 >        beam_sync(0);           /* update server */
285                                  /* record new view */
286          if (v < viewhist || v >= viewhist+VIEWHISTLEN) {
287                  copystruct(viewhist + (nhist%VIEWHISTLEN), v);
# Line 327 | Line 338 | usr_input()                    /* get user input and process it */
338                  /* handled in main() */
339                  break;
340          case DC_REDRAW:                 /* redraw from server */
341 <                imm_mode = beam_sync() > 0;
341 >                imm_mode = beam_sync(1) > 0;
342                  dev_clear();
343                  break;
344          case DC_KILL:                   /* kill rtrace process(es) */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines