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.43 by greg, Fri May 20 02:06:39 2011 UTC vs.
Revision 3.46 by greg, Fri Oct 5 19:19:16 2018 UTC

# Line 82 | Line 82 | static int mytmflags(void);
82   static void xnewcolr(int  ndx, int r, int g, int b);
83   static int getpixels(void);
84   static void freepixels(void);
85 < static unsigned long true_pixel(register uby8 rgb[3]);
85 > static unsigned long true_pixel(uby8 rgb[3]);
86   static void getevent(void);
87   static int ilclip(int dp[2][2], FVECT wp[2]);
88   static void draw3dline(FVECT wp[2]);
# Line 91 | Line 91 | static int moveview(int dx, int dy, int mov, int orb);
91   static void getframe(XButtonPressedEvent *ebut);
92   static void waitabit(void);
93   static void getmove(XButtonPressedEvent *ebut);
94 < static void getkey(register XKeyPressedEvent *ekey);
95 < static void fixwindow(register XExposeEvent *eexp);
96 < static void resizewindow(register XConfigureEvent *ersz);
94 > static void getkey(XKeyPressedEvent *ekey);
95 > static void fixwindow(XExposeEvent *eexp);
96 > static void resizewindow(XConfigureEvent *ersz);
97  
98  
99   static int
100   mytmflags(void)                 /* figure out tone mapping flags */
101   {
102          extern char     *progname;
103 <        register char   *cp, *tail;
103 >        char    *cp, *tail;
104                                          /* find basic name */
105          for (cp = tail = progname; *cp; cp++)
106                  if (*cp == '/')
# Line 116 | Line 116 | mytmflags(void)                        /* figure out tone mapping flags */
116   }
117  
118  
119 < extern void
119 > void
120   dev_open(                       /* initialize X11 driver */
121          char  *id
122   )
# Line 217 | Line 217 | dev_open(                      /* initialize X11 driver */
217   }
218  
219  
220 < extern void
220 > void
221   dev_close(void)                 /* close our display */
222   {
223          freepixels();
# Line 235 | Line 235 | dev_close(void)                        /* close our display */
235   }
236  
237  
238 < extern void
238 > void
239   dev_clear(void)                 /* clear our quadtree */
240   {
241          qtCompost(100);
# Line 245 | Line 245 | dev_clear(void)                        /* clear our quadtree */
245   }
246  
247  
248 < extern int
248 > int
249   dev_view(                       /* assign new driver view */
250          VIEW    *nv
251   )
# Line 293 | Line 293 | dev_view(                      /* assign new driver view */
293   }
294  
295  
296 < extern void
296 > void
297   dev_section(            /* add octree for geometry rendering */
298          char    *gfn,
299          char    *pfn
# Line 303 | Line 303 | dev_section(           /* add octree for geometry rendering */
303   }
304  
305  
306 < extern void
306 > void
307   dev_auxcom(             /* process an auxiliary command */
308          char    *cmd,
309          char    *args
# Line 314 | Line 314 | dev_auxcom(            /* process an auxiliary command */
314   }
315  
316  
317 < extern VIEW *
317 > VIEW *
318   dev_auxview(            /* return nth auxiliary view */
319          int     n,
320          int     hvres[2]
# Line 327 | Line 327 | dev_auxview(           /* return nth auxiliary view */
327   }
328  
329  
330 < extern int
330 > int
331   dev_input(void)                 /* get X11 input */
332   {
333          inpresflags = 0;
# Line 343 | Line 343 | dev_input(void)                        /* get X11 input */
343   }
344  
345  
346 < extern void
346 > void
347   dev_paintr(             /* fill a rectangle */
348          uby8    rgb[3],
349          int  xmin,
# Line 366 | Line 366 | dev_paintr(            /* fill a rectangle */
366   }
367  
368  
369 < extern int
369 > int
370   dev_flush(void)                 /* flush output */
371   {
372          qtUpdate();
# Line 399 | Line 399 | static int
399   getpixels(void)                         /* get the color map */
400   {
401          XColor  thiscolor;
402 <        register int  i, j;
402 >        int  i, j;
403  
404          if (ncolors > 0)
405                  return(ncolors);
# Line 464 | Line 464 | freepixels(void)                               /* free our pixels */
464  
465   static unsigned long
466   true_pixel(                     /* return true pixel value for color */
467 <        register uby8   rgb[3]
467 >        uby8    rgb[3]
468   )
469   {
470 <        register unsigned long  rval;
470 >        unsigned long  rval;
471  
472          rval = ourvinfo.red_mask*rgb[RED]/255 & ourvinfo.red_mask;
473          rval |= ourvinfo.green_mask*rgb[GRN]/255 & ourvinfo.green_mask;
# Line 506 | Line 506 | getevent(void)                 /* get next event */
506          case ButtonPress:
507                  if (FRAMESTATE(levptr(XButtonPressedEvent)->state))
508                          getframe(levptr(XButtonPressedEvent));
509 <                else
510 <                        getmove(levptr(XButtonPressedEvent));
509 >                else
510 >                        switch (levptr(XButtonPressedEvent)->button) {
511 >                        case Button4:           /* wheel up */
512 >                        case Button5:           /* wheel down */
513 >                                break;
514 >                        default:
515 >                                getmove(levptr(XButtonPressedEvent));
516 >                                break;
517 >                        }
518                  break;
519          }
520   }
# Line 594 | Line 601 | moveview(      /* move our view */
601          VIEW    nv;
602          FVECT   odir, v1;
603          double  d;
604 <        register int    li;
604 >        int     li;
605                                  /* start with old view */
606          nv = odev.v;
607                                  /* change view direction */
# Line 612 | Line 619 | moveview(      /* move our view */
619                  VSUM(nv.vp, qtL.wp[li], odir, -1.);
620                  spinvector(nv.vdir, nv.vdir, nv.vup, d);
621          } else if (orb) {               /* orbit up/down */
622 <                fcross(v1, odir, nv.vup);
623 <                if (normalize(v1) == 0.)
622 >                if (geodesic(odir, odir, nv.vup,
623 >                                d=MOVDEG*PI/180.*orb, GEOD_RAD) == 0.0)
624                          return(0);
618                spinvector(odir, odir, v1, d=MOVDEG*PI/180.*orb);
625                  VSUM(nv.vp, qtL.wp[li], odir, -1.);
626 <                spinvector(nv.vdir, nv.vdir, v1, d);
626 >                geodesic(nv.vdir, nv.vdir, nv.vup, d, GEOD_RAD);
627          } else if (mov) {               /* move forward/backward */
628                  d = MOVPCT/100. * mov;
629                  VSUM(nv.vp, nv.vp, odir, d);
# Line 658 | Line 664 | getframe(                              /* get focus frame */
664                                          /* set frame for rendering */
665          if ((endx == startx) | (endy == starty))
666                  return;
667 <        if (endx < startx) {register int c = endx; endx = startx; startx = c;}
668 <        if (endy < starty) {register int c = endy; endy = starty; starty = c;}
667 >        if (endx < startx) {int c = endx; endx = startx; startx = c;}
668 >        if (endy < starty) {int c = endy; endy = starty; starty = c;}
669          sprintf(odev_args, "%.3f %.3f %.3f %.3f",
670                          (startx+.5)/odev.hres, 1.-(endy+.5)/odev.vres,
671                          (endx+.5)/odev.hres, 1.-(starty+.5)/odev.vres);
# Line 721 | Line 727 | getmove(                               /* get view change */
727  
728   static void
729   getkey(                         /* get input key */
730 <        register XKeyPressedEvent  *ekey
730 >        XKeyPressedEvent  *ekey
731   )
732   {
733          Window  rootw, childw;
# Line 803 | Line 809 | getkey(                                /* get input key */
809  
810   static void
811   fixwindow(                              /* repair damage to window */
812 <        register XExposeEvent  *eexp
812 >        XExposeEvent  *eexp
813   )
814   {
815          if (odev.hres == 0 || odev.vres == 0) { /* first exposure */
# Line 817 | Line 823 | fixwindow(                             /* repair damage to window */
823  
824   static void
825   resizewindow(                   /* resize window */
826 <        register XConfigureEvent  *ersz
826 >        XConfigureEvent  *ersz
827   )
828   {
829          if (ersz->width == odev.hres && ersz->height == odev.vres)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines