--- ray/src/px/x11image.c 2003/02/22 02:07:28 2.56 +++ ray/src/px/x11image.c 2004/01/02 12:47:01 2.65 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: x11image.c,v 2.56 2003/02/22 02:07:28 greg Exp $"; +static const char RCSid[] = "$Id"; #endif /* * x11image.c - driver for X-windows @@ -18,6 +18,7 @@ static const char RCSid[] = "$Id: x11image.c,v 2.56 20 #include "standard.h" +#include #include #include #include @@ -125,14 +126,15 @@ Atom closedownAtom, wmProtocolsAtom; int sigrecv; -int onsig() { sigrecv++; } +void onsig(int i) { sigrecv++; } +static gethfunc headline; + main(argc, argv) int argc; char *argv[]; { - int headline(); int i; int pid; @@ -245,9 +247,11 @@ userr: } -int -headline(s) /* get relevant info from header */ -char *s; +static int +headline( /* get relevant info from header */ + char *s, + void *p +) { char fmt[32]; @@ -383,12 +387,12 @@ char *err; register int es; int cs; - if (es = err != NULL) + if ( (es = err != NULL) ) fprintf(stderr, "%s: %s: %s\n", progname, fname==NULL?"":fname, err); if (thedisplay != NULL) XCloseDisplay(thedisplay); - if (parent < 0 & sigrecv == 0) + if ((parent < 0) & (sigrecv == 0)) kill(getppid(), SIGCONT); while (parent > 0 && wait(&cs) != -1) { /* wait for any children */ if (es == 0) @@ -493,7 +497,7 @@ static char vistype[][12] = { if (viscmp(&xvi[i],&ourvis) > 0) quiterr("inadequate visuals on this screen"); /* OK, we'll use it */ - copystruct(&ourvis, &xvi[i]); + ourvis = xvi[i]; #ifdef DEBUG fprintf(stderr, "Selected visual type %s, depth %d\n", vistype[ourvis.class], ourvis.depth); @@ -536,8 +540,8 @@ getras() /* get raster file */ if (ourras == NULL) goto fail; getmono(); - } else if (ourvis.class == TrueColor | ourvis.class == DirectColor) { - int datsiz = ourvis.depth>16 ? sizeof(int4) : sizeof(int2); + } else if ((ourvis.class == TrueColor) | (ourvis.class == DirectColor)) { + int datsiz = ourvis.depth>16 ? sizeof(int32) : sizeof(int16); ourdata = (unsigned char *)malloc(datsiz*xmax*ymax); if (ourdata == NULL) goto fail; @@ -584,7 +588,7 @@ getevent() /* process the next event */ map_rcolors(ourras, wind); if (fast) make_rpixmap(ourras, wind); - if (!sequential & parent < 0 & sigrecv == 0) { + if ((!sequential) & (parent < 0) & (sigrecv == 0)) { kill(getppid(), SIGCONT); sigrecv--; } @@ -625,8 +629,7 @@ getevent() /* process the next event */ traceray(xpos, ypos) /* print requested pixel data */ int xpos, ypos; { - extern char *index(); - FLOAT hv[2]; + RREAL hv[2]; FVECT rorg, rdir; COLOR cval; register char *cp; @@ -674,7 +677,7 @@ XKeyPressedEvent *ekey; XColor cvx; int com, n; double comp; - FLOAT hv[2]; + RREAL hv[2]; n = XLookupString(ekey, buf, sizeof(buf), NULL, NULL); if (n == 0) @@ -794,7 +797,7 @@ XKeyPressedEvent *ekey; free_rpixmap(ourras); return(0); case '0': /* recenter origin */ - if (xoff == 0 & yoff == 0) + if ((xoff == 0) & (yoff == 0)) return(0); xoff = yoff = 0; XClearWindow(thedisplay, wind); @@ -892,7 +895,7 @@ int x0, y0, x1, y1; } -int +void colavg(scn, n, cavg) register COLR *scn; register int n; @@ -926,7 +929,7 @@ COLOR cavg; int dobox(f, p) /* run function over bbox */ -int (*f)(); /* function to call for each subscan */ +void (*f)(); /* function to call for each subscan */ char *p; /* pointer to private data */ { int left, right, top, bottom; @@ -957,7 +960,7 @@ char *p; /* pointer to private data */ } -int +void addfix(scn, n) /* add fixation points to histogram */ COLR *scn; int n; @@ -1153,14 +1156,14 @@ COLR *scan; getfull() /* get full (24-bit) data */ { int y; - register unsigned int4 *dp; - register unsigned int2 *dph; + register uint32 *dp; + register uint16 *dph; register int x; /* initialize tone mapping */ make_tonemap(); /* read and convert file */ - dp = (unsigned int4 *)ourdata; - dph = (unsigned int2 *)ourdata; + dp = (uint32 *)ourdata; + dph = (uint16 *)ourdata; for (y = 0; y < ymax; y++) { getscan(y); add2icon(y, scanline); @@ -1168,15 +1171,15 @@ getfull() /* get full (24-bit) data */ switch (ourras->image->blue_mask) { case 0xff: /* 24-bit RGB */ for (x = 0; x < xmax; x++) - *dp++ = (unsigned int4)scanline[x][RED] << 16 | - (unsigned int4)scanline[x][GRN] << 8 | - (unsigned int4)scanline[x][BLU] ; + *dp++ = (uint32)scanline[x][RED] << 16 | + (uint32)scanline[x][GRN] << 8 | + (uint32)scanline[x][BLU] ; break; case 0xff0000: /* 24-bit BGR */ for (x = 0; x < xmax; x++) - *dp++ = (unsigned int4)scanline[x][RED] | - (unsigned int4)scanline[x][GRN] << 8 | - (unsigned int4)scanline[x][BLU] << 16 ; + *dp++ = (uint32)scanline[x][RED] | + (uint32)scanline[x][GRN] << 8 | + (uint32)scanline[x][BLU] << 16 ; break; #if 0 case 0x1f: /* 15-bit RGB */ @@ -1232,7 +1235,7 @@ getgrey() /* get greyscale data */ tmap_colrs(scanline, xmax); if (maxcolors < 256) for (x = 0; x < xmax; x++) - *dp++ = ((int4)scanline[x][GRN] * + *dp++ = ((int32)scanline[x][GRN] * maxcolors + maxcolors/2) >> 8; else for (x = 0; x < xmax; x++) @@ -1240,7 +1243,7 @@ getgrey() /* get greyscale data */ } for (x = 0; x < maxcolors; x++) clrtab[x][RED] = clrtab[x][GRN] = - clrtab[x][BLU] = ((int4)x*256 + 128)/maxcolors; + clrtab[x][BLU] = ((int32)x*256 + 128)/maxcolors; } @@ -1253,7 +1256,7 @@ getmapped() /* get color-mapped data */ /* initialize tone mapping */ make_tonemap(); /* make histogram */ - if (new_histo((int4)xmax*ymax) == -1) + if (new_histo((int32)xmax*ymax) == -1) quiterr("cannot initialize histogram"); for (y = 0; y < ymax; y++) { if (getscan(y) < 0) @@ -1310,7 +1313,7 @@ int y; static int trunced = -1; /* truncated file? */ skipit: if (trunced >= 0 && y >= trunced) { - bzero(scanline, xmax*sizeof(COLR)); + memset(scanline, '\0', xmax*sizeof(COLR)); return(-1); } if (y != cury) {