]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - filter/raster.h
Load cups into easysw/current.
[thirdparty/cups.git] / filter / raster.h
index ecef9b9a514761dc8553c84ab682c91da30aa16f..13423b483d5baf5096281969cc127c754d2f7cbd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: raster.h 4981 2006-01-25 21:34:00Z mike $"
+ * "$Id: raster.h 5671 2006-06-16 11:17:39Z mike $"
  *
  *   Raster file definitions for the Common UNIX Printing System (CUPS).
  *
@@ -40,7 +40,7 @@
  * Include necessary headers...
  */
 
-#  include <cups/ppd.h>
+#  include <cups/cups.h>
 
 #  ifdef __cplusplus
 extern "C" {
@@ -60,12 +60,15 @@ extern "C" {
  * Constants...
  */
 
-#  define CUPS_RASTER_SYNC     0x52615332      /* RaS2 */
-#  define CUPS_RASTER_REVSYNC  0x32536152      /* 2SaR */
+#  define CUPS_RASTER_SYNC     0x52615333      /* RaS3 */
+#  define CUPS_RASTER_REVSYNC  0x33536152      /* 3SaR */
 
 #  define CUPS_RASTER_SYNCv1   0x52615374      /* RaSt */
 #  define CUPS_RASTER_REVSYNCv1        0x74536152      /* tSaR */
 
+#  define CUPS_RASTER_SYNCv2   0x52615332      /* RaS2 */
+#  define CUPS_RASTER_REVSYNCv2        0x32536152      /* 2SaR */
+
 
 /*
  * The following definition can be used to determine if the
@@ -289,9 +292,12 @@ typedef struct cups_page_header2_s /**** Version 2 Page Header @since CUPS 1.2@
 
   /**** Version 2 Dictionary Values ****/
   unsigned     cupsNumColors;          /* Number of colors @since CUPS 1.2@ */
-  float                cupsPageScaling;        /* Scaling that was applied to page data */
-  float                cupsPageSize[2];        /* Floating point PageSize @since CUPS 1.2@ */
-  float                cupsImagingBBox[4];     /* Floating point ImagingBoundingBox @since CUPS 1.2@ */
+  float                cupsBorderlessScalingFactor;
+                                       /* Scaling that was applied to page data @since CUPS 1.2@ */
+  float                cupsPageSize[2];        /* Floating point PageSize (scaling *
+                                        * factor not applied) @since CUPS 1.2@ */
+  float                cupsImagingBBox[4];     /* Floating point ImagingBoundingBox *
+                                        * (scaling factor not applied) @since CUPS 1.2@ */
   unsigned     cupsInteger[16];        /* User-defined integer values @since CUPS 1.2@ */
   float                cupsReal[16];           /* User-defined floating-point values @since CUPS 1.2@ */
   char         cupsString[16][64];     /* User-defined string values @since CUPS 1.2@ */
@@ -300,19 +306,10 @@ typedef struct cups_page_header2_s        /**** Version 2 Page Header @since CUPS 1.2@
   char         cupsPageSizeName[64];   /* PageSize name @since CUPS 1.2@ */
 } cups_page_header2_t;
 
-typedef struct _cups_raster_s          /**** Raster stream data ****/
-{
-  unsigned             sync;           /* Sync word from start of stream */
-  int                  fd;             /* File descriptor */
-  cups_mode_t          mode;           /* Read/write mode */
-  cups_page_header2_t  header;         /* Raster header for current page */
-  int                  count,          /* Current row run-length count */
-                       remaining,      /* Remaining rows in page image */
-                       bpp;            /* Bytes per pixel/color */
-  unsigned char                *pixels,        /* Pixels for current row */
-                       *pend,          /* End of pixel buffer */
-                       *pcurrent;      /* Current byte in pixel buffer */
-} cups_raster_t;
+typedef struct _cups_raster_s cups_raster_t;
+                                       /**** Raster stream data ****/
+
+typedef int (*cups_interpret_cb_t)(cups_page_header2_t *header, int preferred_bits);
 
 
 /*
@@ -332,7 +329,10 @@ extern unsigned            cupsRasterWritePixels(cups_raster_t *r,
 
 /**** New in CUPS 1.2 ****/
 extern int             cupsRasterInterpretPPD(cups_page_header2_t *h,
-                                              ppd_file_t *ppd);
+                                              ppd_file_t *ppd,
+                                              int num_options,
+                                              cups_option_t *options,
+                                              cups_interpret_cb_t func);
 extern unsigned                cupsRasterReadHeader2(cups_raster_t *r,
                                              cups_page_header2_t *h);
 extern unsigned                cupsRasterWriteHeader2(cups_raster_t *r,
@@ -345,5 +345,5 @@ extern unsigned             cupsRasterWriteHeader2(cups_raster_t *r,
 #endif /* !_CUPS_RASTER_H_ */
 
 /*
- * End of "$Id: raster.h 4981 2006-01-25 21:34:00Z mike $".
+ * End of "$Id: raster.h 5671 2006-06-16 11:17:39Z mike $".
  */