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

Comparing ray/src/px/paintjet.c (file contents):
Revision 1.3 by greg, Fri Oct 20 20:36:13 1989 UTC vs.
Revision 2.4 by greg, Sat Feb 22 02:07:27 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1989 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   *  paintjet.c - program to dump pixel file to HP PaintJet color printer.
6   *
# Line 11 | Line 8 | static char SCCSid[] = "$SunId$ LBL";
8   */
9  
10   #include  <stdio.h>
11 + #ifdef MSDOS
12 + #include  <fcntl.h>
13 + #endif
14 + #include  <time.h>
15  
16   #include  "color.h"
17 + #include  "resolu.h"
18  
19 < #define  NCOLS          1440            /* 8" at 180 dpi */
19 > #define  NCOLS          1440            /* 8" at 180 dpi */
20  
21  
22   main(argc, argv)
# Line 22 | Line 24 | int  argc;
24   char  *argv[];
25   {
26          int  i, status = 0;
27 <        
27 > #ifdef MSDOS
28 >        extern int  _fmode;
29 >        _fmode = O_BINARY;
30 >        setmode(fileno(stdin), O_BINARY);
31 >        setmode(fileno(stdout), O_BINARY);
32 > #endif
33          if (argc < 2)
34                  status = printp(NULL) == -1;
35          else
# Line 48 | Line 55 | char  *fname;
55                  return(-1);
56          }
57                                  /* discard header */
58 <        getheader(input, NULL);
58 >        if (checkheader(input, COLRFMT, NULL) < 0) {
59 >                fprintf(stderr, "%s: not a Radiance picture\n", fname);
60 >                return(-1);
61 >        }
62                                  /* get picture dimensions */
63 <        if (fgetresolu(&xres, &yres, input) != (YMAJOR|YDECR)) {
63 >        if (fgetresolu(&xres, &yres, input) < 0) {
64                  fprintf(stderr, "%s: bad picture size\n", fname);
65                  return(-1);
66          }
# Line 67 | Line 77 | char  *fname;
77          for (i = yres-1; i >= 0; i--) {
78                  if (freadcolrs(scanline, xres, input) < 0)
79                          return(-1);
80 <                normcolrs(scanline, xres);
80 >                normcolrs(scanline, xres, 0);
81                  plotscan(scanline, xres, i);
82          }
83  
# Line 110 | Line 120 | register int  a;
120   {
121          static int  cerr[NCOLS][3];
122          static int  err[3];
123 <        int  b;
123 >        int  b, errp;
124          register int  ison;
125  
126          b = col[a];
127 +        errp = err[a];
128          err[a] += b + cerr[x][a];
129          ison = err[a] > 128;
130          if (ison) err[a] -= 256;
131 <        cerr[x][a] = err[a] /= 2;
131 >        err[a] /= 3;
132 >        cerr[x][a] = err[a] + errp;
133          return(ison);
134   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines