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

Comparing ray/src/hd/rhd_x11.c (file contents):
Revision 3.2 by gregl, Thu Nov 20 18:04:28 1997 UTC vs.
Revision 3.7 by gregl, Mon Nov 24 15:17:06 1997 UTC

# Line 100 | Line 100 | char  *id;
100          XSizeHints      oursizhints;
101                                          /* set quadtree globals */
102          qtDepthEps = 0.02;
103 <        qtMinNodesiz = 1;
103 >        qtMinNodesiz = 2;
104                                          /* open display server */
105          ourdisplay = XOpenDisplay(NULL);
106          if (ourdisplay == NULL)
# Line 212 | Line 212 | int
212   dev_input()                     /* get X11 input */
213   {
214          inpresflags = 0;
215 +
216          do
217                  getevent();
218  
# Line 384 | Line 385 | int    dx, dy, move;
385   {
386          VIEW    nv;
387          double  d;
388 <        register int    i;
388 >        register int    i, li;
389                                  /* start with old view */
390          copystruct(&nv, &odev.v);
391                                  /* change view direction */
392          if (move) {
393 <                register RLEAF  *lp;
393 <                if ((lp = qtFindLeaf(dx, dy)) == NULL)
393 >                if ((li = qtFindLeaf(dx, dy)) < 0)
394                          return(0);      /* not on window */
395                  for (i = 0; i < 3; i++)
396 <                        nv.vdir[i] = lp->wp[i] - nv.vp[i];
396 >                        nv.vdir[i] = qtL.wp[li][i] - nv.vp[i];
397          } else {
398                  if (viewray(nv.vp, nv.vdir, &odev.v,
399                                  (dx+.5)/odev.hres, (dy+.5)/odev.vres) < -FTINY)
# Line 440 | Line 440 | XButtonPressedEvent    *ebut;
440  
441                  if (!moveview(wx, odev.vres-1-wy, MOVDIR(whichbutton)))
442                          sleep(1);
443 +                else
444 +                        qtUpdate();
445  
446          } while (!XCheckMaskEvent(ourdisplay,
447                          ButtonReleaseMask, levptr(XEvent)));
# Line 472 | Line 474 | register XKeyPressedEvent  *ekey;
474          case 'H':                       /* turn off height motion lock */
475                  headlocked = 0;
476                  return;
477 <        case CTRL('Z'):
477 >        case CTRL('S'):
478          case 'p':                       /* pause computation */
479                  inpresflags |= DEV_WAIT;
480                  return;
481 +        case 'v':                       /* spit out view */
482 +                fputs(VIEWSTR, stderr);
483 +                fprintview(&odev.v, stderr);
484 +                fputc('\n', stderr);
485 +                return;
486 +        case CTRL('Q'):
487          case '\n':
488 <        case '\r':                      /* release */
488 >        case '\r':                      /* resume computation */
489 >                inpresflags |= DEV_RESUME;
490 >                return;
491 >        case CTRL('R'):                 /* redraw screen */
492 >                if (ncolors > 0)
493 >                        new_ctab(ncolors);
494 >                qtRedraw(0, 0, odev.hres, odev.vres);
495 >                return;
496 >        case CTRL('L'):                 /* refresh from server */
497 >                XClearWindow(ourdisplay, gwind);
498 >                qtCompost(100);                 /* unload the old tree */
499 >                if (ncolors > 0)
500 >                        new_ctab(ncolors);
501 >                inpresflags |= DEV_REDRAW;      /* resend values from server */
502                  return;
503          case CTRL('D'):
504          case 'Q':

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines