home *** CD-ROM | disk | FTP | other *** search
- /**[f******************************************************************
- * CIPrint.h -- Printing interface
- *
- * Copyright(C) 1996, Adobe Systems, Inc.
- *
- * $Revision: 1.2 $
- *
- *
- **********************************************************************/
- #ifndef __CIPRINT_H
- #define __CIPRINT_H
-
- // Some data structures
- //
- // One thing that developers needs to remember is that all the LPSTR
- // fields defined bellow, developer needs to allocate the memory space
- // and free the space themselve.
- //
- // Printer capabilities
- //
- typedef struct _printerCap {
- unsigned short isPSPrinter : 1; // Printer is PostScript printer
- unsigned short menuFeedOK : 1; // Capability to handle menu feed
- unsigned short custompaperOK : 1; // custom paper
- unsigned short duplexOK : 1; // duplex
- unsigned short colorOK : 1; // color
- unsigned short binaryOK : 1; // handle binary image
- unsigned short unused : 10;
- } PMPrinterCaps;
-
- // Print document related parameters
- //
- #define PRINT_BOTH 0
- #define PRINT_EVEN 1
- #define PRINT_ODD 2
-
- typedef struct _printDoc {
- unsigned short collate : 1; // 1 for collate
- unsigned short reverse : 1; // 1 for reverse order printing
- unsigned short proof : 1; // 1 for doing proof
- unsigned short blank : 1; // 1 for including blank page
- unsigned short independence : 1; // 1 for page independence
- unsigned short book : 1; // 1 for do book printing
- unsigned short bookspec : 1; // 0 for off, 1 for use settings of
- // each pub. 0 for non-PS printer
- unsigned short orientation : 1; // 1 for wide, 0 for tall
- unsigned short spread : 1; // 1 for doing spread
- unsigned short doDropOuts : 1; // 1 for do drop outs
- unsigned short both : 2; // 0 for both, 1 for even, 2 for odd
- unsigned short doAllPages : 1; // 0 for page range and 1 for all pages
- unsigned short unused : 3;
- unsigned short copies; // number of copies
- char* range; // page range to print
- } PMPrintDocParms;
-
- // Print paper related parameters
- //
-
- #define SCALE_NORMAL 0
- #define SCALE_FIT 1
- #define SCALE_THUMBNAIL 2
-
- #define TILING_NONE 0
- #define TILING_MANUAL 1
- #define TILING_AUTO 2
-
- #define DUPLEX_NONE 0
- #define DUPLEX_SHORT 1
- #define DUPLEX_LONG 2
-
- typedef struct _printPaper {
- char* size; // paper size
- char* source; // paper source
- unsigned long length; // paper length
- unsigned long width; // paper width
- unsigned long slowoffset;
- unsigned long fastoffset;
- short tiling; // 0: no-tile; 1: manual; 2: auto
- long overlap; // overlap amount for tiling
- short scaletype; // 0: normal scaling; 1: reduce to fit; 2: thumbnail
- short scaleAmt; // scale amount, when scaletype is 2, it is the number of
- // thumbnails
- short duplex; // 0: no duplex; 1: is short edge; 2 is long edge
- unsigned short orientation : 1; // 1 for wide, 0 for tall
- unsigned short center : 1; // 1 for do center
- unsigned short unused : 14;
- } PMPrintPaperParms;
-
- // Print Color related parameters
- //
- typedef struct _printColor {
- unsigned short doSeparations : 1; // 1: separation; 0: composite
- unsigned short doColors : 1; // 1: color printing; 0: b/w printing
- unsigned short doConvert : 1; // 1: convert all color to process color
- unsigned short doMirror : 1; // 1: mirror
- unsigned short doNegative : 1; // 1: negative
- unsigned short preserveEPS : 1; // 1: preservedEPS color is checked
- unsigned short unused : 10;
- char* screen; // screen name
- } PMPrintColorParms;
-
-
- class CIPrint : public CIInterface {
-
- public:
- // Get and set parameters in print doc panel
- virtual PMXErr GetPrintDocParms( PMPrintDocParms *pDoc ) = 0;
- virtual PMXErr SetPrintDocParms( PMPrintDocParms *pDoc ) = 0;
-
- // Get and set parameters in print paper panel
- virtual PMXErr GetPrintPaperParms( PMPrintPaperParms *pPaper) = 0;
- virtual PMXErr SetPrintPaperParms( PMPrintPaperParms *pPaper) = 0;
-
- // Get and set parameters in print color panel
- virtual PMXErr GetPrintColorParms( PMPrintColorParms *pColor) = 0;
- virtual PMXErr SetPrintColorParms( PMPrintColorParms *pColor) = 0;
- } ;
-
- #endif
-