]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - filter/imagetoraster.c
Load cups into easysw/current.
[thirdparty/cups.git] / filter / imagetoraster.c
index 6fdea10381424277516551d78619b899db6430c5..f0dce921c3a9116370f958bf04043df7dc002a2d 100644 (file)
@@ -1,9 +1,9 @@
 /*
- * "$Id: imagetoraster.c 4767 2005-10-10 19:23:23Z mike $"
+ * "$Id: imagetoraster.c 5099 2006-02-13 02:46:10Z mike $"
  *
  *   Image file to raster filter for the Common UNIX Printing System (CUPS).
  *
- *   Copyright 1993-2005 by Easy Software Products.
+ *   Copyright 1993-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Easy Software Products and are protected by Federal
@@ -60,7 +60,7 @@ int   Flip = 0,                       /* Flip/mirror pages */
        YPosition = 0,                  /* Vertical position on page */
        Collate = 0,                    /* Collate copies? */
        Copies = 1;                     /* Number of copies */
-int    Floyd16x16[16][16] =            /* Traditional Floyd ordered dither */
+int    Floyd16xc16[16][16] =           /* Traditional Floyd ordered dither */
        {
          { 0,   128, 32,  160, 8,   136, 40,  168,
            2,   130, 34,  162, 10,  138, 42,  170 },
@@ -212,8 +212,8 @@ main(int  argc,                             /* I - Number of command-line arguments */
                        xtemp,          /* Bitmap width in pixels */
                        ytemp,          /* Bitmap height in pixels */
                        page;           /* Current page number */
-  int                  x0, y0,         /* Corners of the page in image coords */
-                       x1, y1;
+  int                  xc0, yc0,               /* Corners of the page in image coords */
+                       xc1, yc1;
   ppd_file_t           *ppd;           /* PPD file */
   ppd_choice_t         *choice,        /* PPD option choice */
                        **choices;      /* List of marked choices */
@@ -407,13 +407,37 @@ main(int  argc,                           /* I - Number of command-line arguments */
     Collate = 1;
 
   if ((val = cupsGetOption("gamma", num_options, options)) != NULL)
+  {
+   /*
+    * Get gamma value from 1 to 10000...
+    */
+
     g = atoi(val) * 0.001f;
 
+    if (g < 0.001f)
+      g = 0.001f;
+    else if (g > 10.0f)
+      g = 10.0f;
+  }
+
   if ((val = cupsGetOption("brightness", num_options, options)) != NULL)
+  {
+   /*
+    * Get brightness value from 10 to 1000.
+    */
+
     b = atoi(val) * 0.01f;
 
+    if (b < 0.1f)
+      b = 0.1f;
+    else if (b > 10.0f)
+      b = 10.0f;
+  }
+
   if ((val = cupsGetOption("scaling", num_options, options)) != NULL)
     zoom = atoi(val) * 0.01;
+  else if (cupsGetOption("fitplot", num_options, options))
+    zoom = 1.0;
 
   if ((val = cupsGetOption("ppi", num_options, options)) != NULL)
     if (sscanf(val, "%dx%d", &xppi, &yppi) < 2)
@@ -1234,20 +1258,20 @@ main(int  argc,                         /* I - Number of command-line arguments */
 
        if (Orientation & 1)
        {
-         x0    = img->xsize * ypage / ypages;
-         x1    = img->xsize * (ypage + 1) / ypages - 1;
-         y0    = img->ysize * xpage / xpages;
-         y1    = img->ysize * (xpage + 1) / xpages - 1;
+         xc0    = img->xsize * ypage / ypages;
+         xc1    = img->xsize * (ypage + 1) / ypages - 1;
+         yc0    = img->ysize * xpage / xpages;
+         yc1    = img->ysize * (xpage + 1) / xpages - 1;
 
          xtemp = header.HWResolution[0] * yprint;
          ytemp = header.HWResolution[1] * xprint;
        }
        else
        {
-         x0    = img->xsize * xpage / xpages;
-         x1    = img->xsize * (xpage + 1) / xpages - 1;
-         y0    = img->ysize * ypage / ypages;
-         y1    = img->ysize * (ypage + 1) / ypages - 1;
+         xc0    = img->xsize * xpage / xpages;
+         xc1    = img->xsize * (xpage + 1) / xpages - 1;
+         yc0    = img->ysize * ypage / ypages;
+         yc1    = img->ysize * (ypage + 1) / ypages - 1;
 
          xtemp = header.HWResolution[0] * xprint;
          ytemp = header.HWResolution[1] * yprint;
@@ -1262,10 +1286,10 @@ main(int  argc,                         /* I - Number of command-line arguments */
          */
 
           if (Flip)
-           z = cupsImageZoomNew(img, x0, y0, x1, y1, -xtemp, ytemp,
+           z = cupsImageZoomNew(img, xc0, yc0, xc1, yc1, -xtemp, ytemp,
                                 Orientation & 1, zoom_type);
           else
-           z = cupsImageZoomNew(img, x0, y0, x1, y1, xtemp, ytemp,
+           z = cupsImageZoomNew(img, xc0, yc0, xc1, yc1, xtemp, ytemp,
                                 Orientation & 1, zoom_type);
 
          /*
@@ -1670,7 +1694,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
         {
           case 1 :
               bitmask = 64 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --)
               {
@@ -1758,7 +1782,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -1782,7 +1806,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
 
               for (x = xsize; x > 0; x --)
@@ -1806,7 +1830,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  cptr ++;
                  mptr ++;
@@ -1876,7 +1900,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               switch (z)
              {
@@ -1931,7 +1955,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
               r0 += z;
 
@@ -1946,7 +1970,7 @@ format_CMY(cups_page_header2_t *header,   /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  ptr ++;
                }
@@ -2045,7 +2069,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 128 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --)
               {
@@ -2080,9 +2104,9 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
               for (x = xsize ; x > 0; x --, r0 += 4)
               {
                if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[0]]);
+                 *ptr ^= (0x0 & OnPixels[r0[0]]);
                else
-                 *ptr ^= (0xc0 & OffPixels[r0[0]]);
+                 *ptr ^= (0x0 & OffPixels[r0[0]]);
 
                if ((r0[1] & 63) > dither[x & 7])
                  *ptr ^= (0x30 & OnPixels[r0[1]]);
@@ -2148,7 +2172,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -2175,7 +2199,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
 
               for (x = xsize; x > 0; x --)
@@ -2204,7 +2228,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  cptr ++;
                  mptr ++;
@@ -2286,7 +2310,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
               r0      += z;
 
               for (x = xsize; x > 0; x --, r0 += 4)
@@ -2305,7 +2329,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
              break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
               r0      += z;
 
@@ -2320,7 +2344,7 @@ format_CMYK(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  ptr ++;
                }
@@ -2412,7 +2436,7 @@ format_K(cups_page_header2_t *header,     /* I - Page header */
   {
     case 1 :
         bitmask = 0x80 >> (bitoffset & 7);
-        dither  = Floyd16x16[y & 15];
+        dither  = Floyd16xc16[y & 15];
 
         for (x = xsize; x > 0; x --)
         {
@@ -2430,7 +2454,7 @@ format_K(cups_page_header2_t *header,     /* I - Page header */
         break;
 
     case 2 :
-        bitmask = 0xc0 >> (bitoffset & 7);
+        bitmask = 0x0 >> (bitoffset & 7);
         dither  = Floyd8x8[y & 7];
 
         for (x = xsize; x > 0; x --)
@@ -2444,7 +2468,7 @@ format_K(cups_page_header2_t *header,     /* I - Page header */
            bitmask >>= 2;
          else
          {
-           bitmask = 0xc0;
+           bitmask = 0x0;
 
            ptr ++;
           }
@@ -2537,7 +2561,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 128 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --, r0 += 4)
               {
@@ -2572,9 +2596,9 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
               for (x = xsize ; x > 0; x --, r0 += 4)
               {
                if ((r0[3] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[3]]);
+                 *ptr ^= (0x0 & OnPixels[r0[3]]);
                else
-                 *ptr ^= (0xc0 & OffPixels[r0[3]]);
+                 *ptr ^= (0x0 & OffPixels[r0[3]]);
 
                if ((r0[0] & 63) > dither[x & 7])
                  *ptr ^= (0x30 & OnPixels[r0[0]]);
@@ -2657,7 +2681,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -2684,7 +2708,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
               dither  = Floyd8x8[y & 7];
 
               for (x = xsize; x > 0; x --)
@@ -2713,7 +2737,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  cptr ++;
                  mptr ++;
@@ -2795,7 +2819,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
              if (z == 0)
                r0 += 3;
              else
@@ -2817,7 +2841,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
              break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
               dither  = Floyd8x8[y & 7];
               if (z == 0)
                r0 += 3;
@@ -2835,7 +2859,7 @@ format_KCMY(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  ptr ++;
                }
@@ -2950,7 +2974,7 @@ format_KCMYcm(cups_page_header2_t *header,/* I - Page header */
         switch (header->cupsBitsPerColor)
         {
           case 1 :
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --)
               {
@@ -3015,7 +3039,7 @@ format_KCMYcm(cups_page_header2_t *header,/* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -3095,7 +3119,7 @@ format_KCMYcm(cups_page_header2_t *header,/* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               switch (z)
              {
@@ -3281,7 +3305,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 128 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --)
               {
@@ -3315,9 +3339,9 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
               for (x = xsize ; x > 0; x --, r0 += 3)
               {
                if ((r0[0] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[0]]);
+                 *ptr ^= (0x0 & OnPixels[r0[0]]);
                else
-                 *ptr ^= (0xc0 & OffPixels[r0[0]]);
+                 *ptr ^= (0x0 & OffPixels[r0[0]]);
 
                if ((r0[1] & 63) > dither[x & 7])
                  *ptr ^= (0x30 & OnPixels[r0[1]]);
@@ -3392,7 +3416,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -3416,7 +3440,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
 
               for (x = xsize; x > 0; x --)
@@ -3440,7 +3464,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  cptr ++;
                  mptr ++;
@@ -3516,7 +3540,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               switch (z)
              {
@@ -3571,7 +3595,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
               r0 += z;
 
@@ -3586,7 +3610,7 @@ format_RGBA(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  ptr ++;
                }
@@ -3678,7 +3702,7 @@ format_W(cups_page_header2_t *header,     /* I - Page header */
   {
     case 1 :
         bitmask = 0x80 >> (bitoffset & 7);
-        dither  = Floyd16x16[y & 15];
+        dither  = Floyd16xc16[y & 15];
 
         for (x = xsize; x > 0; x --)
         {
@@ -3696,7 +3720,7 @@ format_W(cups_page_header2_t *header,     /* I - Page header */
         break;
 
     case 2 :
-        bitmask = 0xc0 >> (bitoffset & 7);
+        bitmask = 0x0 >> (bitoffset & 7);
         dither  = Floyd8x8[y & 7];
 
         for (x = xsize; x > 0; x --)
@@ -3710,7 +3734,7 @@ format_W(cups_page_header2_t *header,     /* I - Page header */
            bitmask >>= 2;
          else
          {
-           bitmask = 0xc0;
+           bitmask = 0x0;
 
            ptr ++;
           }
@@ -3802,7 +3826,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
         {
           case 1 :
               bitmask = 64 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --, r0 += 3)
               {
@@ -3902,7 +3926,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -3926,7 +3950,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
 
               for (x = xsize; x > 0; x --)
@@ -3950,7 +3974,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  cptr ++;
                  mptr ++;
@@ -4020,7 +4044,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-             dither  = Floyd16x16[y & 15];
+             dither  = Floyd16xc16[y & 15];
 
               switch (z)
              {
@@ -4075,7 +4099,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
              dither  = Floyd8x8[y & 7];
               z       = 2 - z;
               r0      += z;
@@ -4091,7 +4115,7 @@ format_YMC(cups_page_header2_t *header,   /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  ptr ++;
                }
@@ -4192,7 +4216,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 128 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               for (x = xsize ; x > 0; x --, r0 += 4)
               {
@@ -4228,9 +4252,9 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
               for (x = xsize ; x > 0; x --, r0 += 4)
               {
                if ((r0[2] & 63) > dither[x & 7])
-                 *ptr ^= (0xc0 & OnPixels[r0[2]]);
+                 *ptr ^= (0x0 & OnPixels[r0[2]]);
                else
-                 *ptr ^= (0xc0 & OffPixels[r0[2]]);
+                 *ptr ^= (0x0 & OffPixels[r0[2]]);
 
                if ((r0[1] & 63) > dither[x & 7])
                  *ptr ^= (0x30 & OnPixels[r0[1]]);
@@ -4313,7 +4337,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               for (x = xsize; x > 0; x --)
               {
@@ -4341,7 +4365,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
               dither  = Floyd8x8[y & 7];
 
               for (x = xsize; x > 0; x --)
@@ -4370,7 +4394,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  cptr ++;
                  mptr ++;
@@ -4452,7 +4476,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
         {
           case 1 :
               bitmask = 0x80 >> (bitoffset & 7);
-              dither  = Floyd16x16[y & 15];
+              dither  = Floyd16xc16[y & 15];
 
               if (z < 3)
                r0 += 2 - z;
@@ -4475,7 +4499,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
               break;
 
           case 2 :
-              bitmask = 0xc0 >> (bitoffset & 7);
+              bitmask = 0x0 >> (bitoffset & 7);
               dither  = Floyd8x8[y & 7];
               if (z == 3)
                r0 += 3;
@@ -4493,7 +4517,7 @@ format_YMCK(cups_page_header2_t *header,  /* I - Page header */
                  bitmask >>= 2;
                else
                {
-                 bitmask = 0xc0;
+                 bitmask = 0x0;
 
                  ptr ++;
                }
@@ -4587,5 +4611,5 @@ make_lut(cups_ib_t  *lut,         /* I - Lookup table */
 
 
 /*
- * End of "$Id: imagetoraster.c 4767 2005-10-10 19:23:23Z mike $".
+ * End of "$Id: imagetoraster.c 5099 2006-02-13 02:46:10Z mike $".
  */