|
|
1.1 ! root 1: /* ---File: pscrptui.h ----------------------------------------------------- ! 2: * ! 3: * Description: ! 4: * NT PostScript Printer Driver user interface common definitions, ! 5: * resource ids, typedefs, external declarations, function prototypes, ! 6: * etc. ! 7: * ! 8: * This document contains confidential/proprietary information. ! 9: * Copyright (c) 1991 Microsoft Corporation, All Rights Reserved. ! 10: * ! 11: * Revision History: ! 12: * [00] 27-Jun-91 stevecat created ! 13: * ! 14: * ---------------------------------------------------------------------- */ ! 15: ! 16: #define LONG2POINT(l, pt) (pt.y = (int) HIWORD(l), pt.x = (int) LOWORD(l)) ! 17: ! 18: /* exported from initdll.c */ ! 19: extern HMODULE hModule; ! 20: ! 21: /* from libproto.h */ ! 22: void WinSetError( LPSTR ); ! 23: void DbgPrint( char *, ... ); ! 24: ! 25: // macro to convert from postscript user coordinates (1/72 inch) to ! 26: // the forms database coordinates (.001 mm). ! 27: ! 28: #define USERTO001MM(a) ((a * 25400) / 72) ! 29: ! 30: #ifdef DBG ! 31: void DbgPrint( char *, ... ); ! 32: void DbgBreakPoint( void ); ! 33: #endif ! 34: ! 35: #define MAX_FULLNAME 128 ! 36: #define MAX_FONTNAME 128 ! 37: ! 38: /*--------------------------------------------------------------------*\ ! 39: * The PFB file format is a sequence of segments, each of which has a * ! 40: * header part and a data part. The header format, defined in the * ! 41: * struct PFBHEADER below, consists of a one byte sanity check number * ! 42: * (128) then a one byte segment type and finally a four byte length * ! 43: * field for the data following data. The length field is stored in * ! 44: * the file with the least significant byte first. * ! 45: * * ! 46: * The segment types are: * ! 47: * 1.) The data is a sequence of ASCII characters. * ! 48: * 2.) The data is a sequence of binary characters to be converted * ! 49: * to a sequence of pairs of hexadecimal digits. * ! 50: * 3.) The last segment in the file. This segment has no length or * ! 51: * data fields. * ! 52: * * ! 53: * The segment types are defined explicitly rather than as an * ! 54: * enumerated type because the values for each type are defined by the * ! 55: * file format rather than the compiler manipulating them. * ! 56: \*--------------------------------------------------------------------*/ ! 57: ! 58: #define CHECK_BYTE 128 // first byte of file segment ! 59: #define ASCII_TYPE 1 // segment type identifier ! 60: #define BINARY_TYPE 2 ! 61: #define EOF_TYPE 3 ! 62: ! 63: // PFBHEADER - Adobe defined .PFB file header. NOTE: the length is ! 64: // a ULONG, but due to alignment problems, it will be accessed as ! 65: // a couple of USHORTS. ! 66: ! 67: typedef struct // Adobe-defined .PFB file segment header ! 68: { ! 69: BYTE jCheck; // segment ID. ! 70: BYTE jType; // segment type. ! 71: USHORT uslolength; // lo word of length. ! 72: USHORT ushilength; // hi word of length. ! 73: } PFBHEADER; ! 74: ! 75: typedef PFBHEADER FAR *PPFBHEADER; ! 76: ! 77: #define BinaryToHex(c) (BYTE)((c) < 10 ? '0' + (c): 'a' + (c) - 10) ! 78: ! 79: PNTPD MapPrinter(HANDLE); ! 80: ! 81: typedef struct _ENUMDATA ! 82: { ! 83: HWND hwnd; ! 84: HDC hdc; ! 85: } ENUMDATA, *PENUMDATA; ! 86: ! 87: typedef struct _DOCDETAILS ! 88: { ! 89: HANDLE hPrinter; ! 90: FLONG flDialogFlags; ! 91: PWSTR pDeviceName; ! 92: PNTPD pntpd; ! 93: PSDEVMODE *pDMOutput; ! 94: PSDEVMODE *pDMInput; ! 95: PSDEVMODE DMBuffer; ! 96: PSDEVMODE DMOriginal; ! 97: HANDLE hIconPortrait; ! 98: HANDLE hIconLandscape; ! 99: HANDLE hIconPDuplexNone; ! 100: HANDLE hIconLDuplexNone; ! 101: HANDLE hIconPDuplexTumble; ! 102: HANDLE hIconLDuplexTumble; ! 103: HANDLE hIconPDuplexNoTumble; ! 104: HANDLE hIconLDuplexNoTumble; ! 105: HANDLE hIconCollateOn; ! 106: HANDLE hIconCollateOff; ! 107: COLORADJUSTMENT coloradj; ! 108: } DOCDETAILS, *PDOCDETAILS; ! 109: ! 110: typedef struct ! 111: { ! 112: HANDLE hPrinter; ! 113: DWORD iFreeMemory; ! 114: PNTPD pntpd; ! 115: PLONG psetforms; ! 116: BOOL bHostHalftoning; ! 117: BOOL bPermission; ! 118: } PRINTDATA; ! 119: ! 120: #define MANUAL_FEED_INDEX 100 ! 121: ! 122: #define STRING_BASE 1000 ! 123: ! 124: #define IDS_MEMWARN 0 ! 125: #define IDS_PRINT_PROP 2 ! 126: #define IDS_CAUTION 3 ! 127: #define IDS_DEFAULT_FONT_DIR 4 ! 128: #define IDS_NO_INSTALLED 5 ! 129: #define IDS_ALL_PFB_FILES 8 ! 130: #define IDS_PFB_NOT_FOUND 10 ! 131: #define IDS_PATH_NOT_FOUND 11 ! 132: #define IDS_FULLNAME 12 ! 133: #define IDS_FONTNAME 13 ! 134: #define IDS_AFM_NOT_FOUND 14 ! 135: #define IDS_ALL_AFM_FILES 15 ! 136: #define IDS_ALL_PFM_FILES 16 ! 137: #define IDS_MORE_AFMS_NEEDED 17 ! 138: #define IDS_COLOR_ON_BW 20 ! 139: #define IDS_INVALID_DRIVER_EXTRA_SIZE 21 ! 140: #define IDS_INVALID_DUPLEX 22 ! 141: #define IDS_INVALID_COLOR 23 ! 142: #define IDS_INVALID_RESOLUTION 24 ! 143: #define IDS_INVALID_NUMBER_OF_COPIES 25 ! 144: #define IDS_INVALID_SCALE 26 ! 145: #define IDS_INVALID_ORIENTATION 27 ! 146: #define IDS_INVALID_VERSION 28 ! 147: #define IDS_INVALID_DEVMODE_SIZE 29 ! 148: #define IDS_INVALID_FORM 30 ! 149: #define IDS_DOWNLOAD_SOFTFONT 31 ! 150: #define IDS_NUMBER_TT_FONTS 32 ! 151: #define IDS_FREEMEM 33 ! 152: #define IDS_FORMS 34 ! 153: #define IDS_HALFTONE 35 ! 154: #define IDS_PSCRIPT_VERSION 36 ! 155: #define IDS_MODEL_STRING 37 ! 156: #define IDS_ERROR 38 ! 157: #define IDS_NO_HELP 39 ! 158: #define IDS_PERMISSION 40 ! 159: #define IDS_FONT_SUBST_TABLE 41 ! 160: #define IDS_FONT_SUBST_SIZE 42 ! 161: #define IDS_TRAY_FORM_TABLE 43 ! 162: #define IDS_TRAY_FORM_SIZE 44 ! 163: #define IDS_NETWORK_GONE 45 ! 164: ! 165: #define MYFONT 200 /* PFM file */ ! 166: ! 167: #define ICOPORTRAIT 301 ! 168: #define ICOLANDSCAPE 302 ! 169: #define ICO_P_NONE 303 ! 170: #define ICO_L_NONE 304 ! 171: #define ICO_P_HORIZ 305 ! 172: #define ICO_L_HORIZ 306 ! 173: #define ICO_P_VERT 307 ! 174: #define ICO_L_VERT 308 ! 175: #define ICO_COLLATE 309 ! 176: #define ICO_NO_COLLATE 310 ! 177: #define ICO_PRINTER 311 ! 178: ! 179: // flag used for marking form as valid for current printer. ! 180: ! 181: #define PSCRIPT_VALID_FORM 0x80000000 ! 182: ! 183: /* ! 184: * Halftoning UI calls. ! 185: */ ! 186: ! 187: void vShowHTUI( HWND, HANDLE ); ! 188: BOOL bSaveHTData( HANDLE, BOOL );
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.