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

Comparing ray/src/px/oki20c.c (file contents):
Revision 2.8 by greg, Fri Jul 3 10:46:25 1992 UTC vs.
Revision 2.15 by schorsch, Mon Nov 10 12:28:56 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1992 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   *  oki20c.c - program to dump pixel file to OkiMate 20 color printer.
6   */
7  
8   #include  <stdio.h>
9 + #include  <time.h>
10  
11 + #include  "platform.h"
12 + #include  "rtprocess.h"
13   #include  "color.h"
14   #include  "resolu.h"
15  
16 < #define  NROWS          1440            /* 10" at 144 dpi */
17 < #define  NCOLS          960             /* 8" at 120 dpi */
16 > #define  NROWS          1440            /* 10" at 144 dpi */
17 > #define  NCOLS          960             /* 8" at 120 dpi */
18  
19 < #define  ASPECT         (120./144.)     /* pixel aspect ratio */
19 > #define  ASPECT         (120./144.)     /* pixel aspect ratio */
20  
21 < #define  FILTER         "pfilt -1 -x %d -y %d -p %f %s",NCOLS,NROWS,ASPECT
21 > #define  FILTER         "pfilt -1 -x %d -y %d -p %f",NCOLS,NROWS,ASPECT
22 > #define  FILTER_F       "pfilt -1 -x %d -y %d -p %f \"%s\"",NCOLS,NROWS,ASPECT
23  
24   /*
25 < *  Subtractive primaries are ordered:  Yellow, Magenta, Cyan.
25 > *  Subtractive primaries are ordered:  Yellow, Magenta, Cyan.
26   */
27  
28 < #define  sub_add(sub)   (2-(sub))       /* map subtractive to additive pri. */
28 > #define  sub_add(sub)   (2-(sub))       /* map subtractive to additive pri. */
29  
30   long  lpat[NCOLS][3];
31  
# Line 36 | Line 37 | int  argc;
37   char  *argv[];
38   {
39          int  i, status = 0;
40 <        
40 >        SET_DEFAULT_BINARY();
41 >        SET_FILE_BINARY(stdin);
42 >        SET_FILE_BINARY(stdout);
43          if (argc > 1 && !strcmp(argv[1], "-p")) {
44                  dofilter++;
45                  argv++; argc--;
46          }
44 #ifdef _IOLBF
45        stdout->_flag &= ~_IOLBF;
46 #endif
47          if (argc < 2)
48                  status = printp(NULL) == -1;
49          else
# Line 56 | Line 56 | char  *argv[];
56   printp(fname)                           /* print a picture */
57   char  *fname;
58   {
59 <        char  buf[64];
59 >        char  buf[PATH_MAX];
60          FILE  *input;
61          int  xres, yres;
62          COLR  scanline[NCOLS];
# Line 64 | Line 64 | char  *fname;
64  
65          if (dofilter) {
66                  if (fname == NULL) {
67 <                        sprintf(buf, FILTER, "");
67 >                        sprintf(buf, FILTER);
68                          fname = "<stdin>";
69                  } else
70 <                        sprintf(buf, FILTER, fname);
70 >                        sprintf(buf, FILTER_F, fname);
71                  if ((input = popen(buf, "r")) == NULL) {
72                          fprintf(stderr, "Cannot execute: %s\n", buf);
73                          return(-1);
# Line 125 | Line 125 | int  y;
125          register long  c;
126          register int  i, j;
127  
128 <        if (bpos = y % 23) {
128 >        if ( (bpos = y % 23) ) {
129  
130                  for (j = 0; j < 3; j++)
131                          for (i = 0; i < len; i++)
# Line 146 | Line 146 | int  y;
146                  }
147                  for (i = 0; i < len; i++) {
148                          c = lpat[i][j] | colbit(scan[i],i,j);
149 <                        putchar(c>>16);
150 <                        putchar(c>>8 & 255);
151 <                        putchar(c & 255);
149 >                        putchar((int)(c>>16));
150 >                        putchar((int)(c>>8 & 255));
151 >                        putchar((int)(c & 255));
152                          if (y)                  /* repeat this row */
153                                  lpat[i][j] = (c & 1) << 23;
154                          else                    /* or clear for next image */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines