1 /* Copyright (C) 1997, 1998, 2000 Aladdin Enterprises. All rights reserved. 2 3 This software is provided AS-IS with no warranty, either express or 4 implied. 5 6 This software is distributed under license and may not be copied, 7 modified or distributed except as expressly authorized under the terms 8 of the license contained in the file LICENSE in this distribution. 9 10 For more information about licensing, please refer to 11 http://www.ghostscript.com/licensing/. For information on 12 commercial licensing, go to http://www.artifex.com/licensing/ or 13 contact Artifex Software, Inc., 101 Lucas Valley Road #110, 14 San Rafael, CA 94903, U.S.A., +1(415)492-9861. 15 */ 16 17 /* $Id: gdevpxen.h,v 1.7 2005/05/31 19:25:09 stefan Exp $ */ 18 /* Enumerated attribute value definitions for PCL XL */ 19 20 #ifndef gdevpxen_INCLUDED 21 # define gdevpxen_INCLUDED 22 23 typedef enum { 24 eClockWise = 0, 25 eCounterClockWise, 26 pxeArcDirection_next 27 } pxeArcDirection_t; 28 29 typedef enum { 30 eNoSubstitution = 0, 31 eVerticalSubstitution, 32 pxeCharSubModeArray_next 33 } pxeCharSubModeArray_t; 34 35 typedef enum { 36 eNonZeroWinding = 0, 37 eEvenOdd, 38 pxeClipMode_next, 39 pxeFillMode_next = pxeClipMode_next /* see pxeFillMode_t below */ 40 } pxeClipMode_t; 41 42 typedef enum { 43 eInterior = 0, 44 eExterior, 45 pxeClipRegion_next 46 } pxeClipRegion_t; 47 48 typedef enum { 49 e1Bit = 0, 50 e4Bit, 51 e8Bit, 52 pxeColorDepth_next 53 } pxeColorDepth_t; 54 55 typedef enum { 56 eCRGB = 5, /* Note: for this enumeration, 0 is not a valid value */ 57 pxeColorimetricColorSpace_next 58 } pxeColorimetricColorSpace_t; /* 2.0 */ 59 60 typedef enum { 61 eDirectPixel = 0, 62 eIndexedPixel, 63 pxeColorMapping_next 64 } pxeColorMapping_t; 65 66 typedef enum { 67 eNoColorSpace = 0, /* Note: for this enumeration, 0 is not a valid value */ 68 eGray, 69 eRGB, 70 eSRGB = 6, /* 2.0, Note: HP's value is 6 not the expected 3 */ 71 pxeColorSpace_next 72 } pxeColorSpace_t; 73 74 typedef enum { 75 eNoCompression = 0, 76 eRLECompression, 77 eJPEGCompression, /* 2.0 */ 78 eDeltaRowCompression, /* 2.1 */ 79 pxeCompressMode_next 80 } pxeCompressMode_t; 81 82 typedef enum { 83 eBinaryHighByteFirst = 0, 84 eBinaryLowByteFirst, 85 pxeDataOrg_next /* is this DataOrg or DataOrganization? */ 86 } pxeDataOrg_t; 87 88 typedef enum { 89 eDefault = 0, /* bad choice of name! */ 90 pxeDataSource_next 91 } pxeDataSource_t; 92 93 typedef enum { 94 eUByte = 0, 95 eSByte, 96 eUInt16, 97 eSInt16, 98 pxeDataType_next 99 } pxeDataType_t; 100 101 typedef enum { 102 eDownloaded = -1, /* Not a real value, indicates a downloaded matrix */ 103 eDeviceBest = 0, 104 pxeDitherMatrix_next 105 } pxeDitherMatrix_t; 106 107 typedef enum { 108 eDuplexHorizontalBinding = 0, 109 eDuplexVerticalBinding, 110 pxeDuplexPageMode_next 111 } pxeDuplexPageMode_t; 112 113 typedef enum { 114 eFrontMediaSide = 0, 115 eBackMediaSide, 116 pxeDuplexPageSide_next 117 } pxeDuplexPageSide_t; 118 119 typedef enum { 120 /* Several pieces of code know that this is a bit mask. */ 121 eNoReporting = 0, 122 eBackChannel, 123 eErrorPage, 124 eBackChAndErrPage, 125 eNWBackChannel, /* 2.0 */ 126 eNWErrorPage, /* 2.0 */ 127 eNWBackChAndErrPage, /* 2.0 */ 128 pxeErrorReport_next 129 } pxeErrorReport_t; 130 131 typedef pxeClipMode_t pxeFillMode_t; 132 133 typedef enum { 134 eButtCap = 0, 135 eRoundCap, 136 eSquareCap, 137 eTriangleCap, 138 pxeLineCap_next 139 } pxeLineCap_t; 140 141 #define pxeLineCap_to_library\ 142 { gs_cap_butt, gs_cap_round, gs_cap_square, gs_cap_triangle } 143 144 typedef enum { 145 eMiterJoin = 0, 146 eRoundJoin, 147 eBevelJoin, 148 eNoJoin, 149 pxeLineJoin_next 150 } pxeLineJoin_t; 151 152 #define pxeLineJoin_to_library\ 153 { gs_join_miter, gs_join_round, gs_join_bevel, gs_join_none } 154 155 typedef enum { 156 eInch = 0, 157 eMillimeter, 158 eTenthsOfAMillimeter, 159 pxeMeasure_next 160 } pxeMeasure_t; 161 162 #define pxeMeasure_to_points { 72.0, 72.0 / 25.4, 72.0 / 254.0 } 163 164 typedef enum { 165 eDefaultDestination = 0, 166 eFaceDownBin, /* 2.0 */ 167 eFaceUpBin, /* 2.0 */ 168 eJobOffsetBin, /* 2.0 */ 169 pxeMediaDestination_next 170 } pxeMediaDestination_t; 171 172 typedef enum { 173 eLetterPaper = 0, 174 eLegalPaper, 175 eA4Paper, 176 eExecPaper, 177 eLedgerPaper, 178 eA3Paper, 179 eCOM10Envelope, 180 eMonarchEnvelope, 181 eC5Envelope, 182 eDLEnvelope, 183 eJB4Paper, 184 eJB5Paper, 185 eB5Envelope, 186 eB5Paper, /* 2.1 */ 187 eJPostcard, 188 eJDoublePostcard, 189 eA5Paper, 190 eA6Paper, /* 2.0 */ 191 eJB6Paper, /* 2.0 */ 192 eJIS8K, /* 2.1 */ 193 eJIS16K, /* 2.1 */ 194 eJISExec, /* 2.1 */ 195 eDefaultPaperSize = 96, /* 2.1 */ 196 pxeMediaSize_next 197 } pxeMediaSize_t; 198 199 /* 200 * Apply a macro (or procedure) to all known paper sizes. 201 * The arguments are: 202 * media size code, resolution for width/height, width, height. 203 */ 204 #define px_enumerate_media(m)\ 205 m(eDefaultPaperSize, -1, -1, -1)\ 206 m(eLetterPaper, 300, 2550, 3300)\ 207 m(eLegalPaper, 300, 2550, 4200)\ 208 m(eA4Paper, 300, 2480, 3507)\ 209 m(eExecPaper, 300, 2175, 3150)\ 210 m(eLedgerPaper, 300, 3300, 5100)\ 211 m(eA3Paper, 300, 3507, 4960)\ 212 m(eCOM10Envelope, 300, 1237, 2850)\ 213 m(eMonarchEnvelope, 300, 1162, 2250)\ 214 m(eC5Envelope, 300, 1913, 2704)\ 215 m(eDLEnvelope, 300, 1299, 2598)\ 216 m(eJB4Paper, -1, -1, -1)\ 217 m(eJB5Paper, 300, 2150, 3035)\ 218 m(eB5Envelope, 300, 2078, 2952)\ 219 m(eB5Paper, 300, 2150, 3035)\ 220 m(eJPostcard, 300, 1181, 1748)\ 221 m(eJDoublePostcard, -1, -1, -1)\ 222 m(eA5Paper,300,1748, 2480)\ 223 m(eA6Paper,-1, -1, -1)\ 224 m(eJB6Paper,-1, -1, -1)\ 225 m(eJIS8K, -1, -1, -1)\ 226 m(eJIS16K, -1, -1, -1)\ 227 m(eJISExec, -1, -1, -1) 228 229 typedef enum { 230 eDefaultSource = 0, 231 eAutoSelect, 232 eManualFeed, 233 eMultiPurposeTray, 234 eUpperCassette, 235 eLowerCassette, 236 eEnvelopeTray, 237 eThirdCassette, 238 pxeMediaSource_next 239 } pxeMediaSource_t; 240 241 /**** MediaType is not documented. ****/ 242 typedef enum { 243 eDefaultType = 0, 244 pxeMediaType_next 245 } pxeMediaType_t; 246 247 typedef enum { 248 ePortraitOrientation = 0, 249 eLandscapeOrientation, 250 eReversePortrait, 251 eReverseLandscape, 252 eDefaultOrientation, /* 2.1 */ 253 pxeOrientation_next 254 } pxeOrientation_t; 255 256 typedef enum { 257 eTempPattern = 0, 258 ePagePattern, 259 eSessionPattern, 260 pxePatternPersistence_next 261 } pxePatternPersistence_t; 262 263 typedef enum { 264 eSimplexFrontSide = 0, 265 pxeSimplexPageMode_next 266 } pxeSimplexPageMode_t; 267 268 typedef enum { 269 eOpaque = 0, 270 eTransparent, 271 pxeTxMode_next 272 } pxeTxMode_t; 273 274 typedef enum { 275 eHorizontal = 0, 276 eVertical, 277 pxeWritingMode_next 278 } pxeWritingMode_t; /* 2.0 */ 279 280 /* the following 4 enumerations are new with XL 3.0 */ 281 282 typedef enum { 283 eDisableAH = 0, /* the documentation uses a eDisable here and in 284 Trapping - add AH to avoid duplicate 285 identifier. */ 286 eEnableAH, 287 pxeAdaptive_Halftoning_next 288 } pxeAdaptiveHalftone_t; 289 290 typedef enum { 291 eHighLPI = 0, 292 eMediumLPI, 293 eLowLPI, 294 pxeeHalftoneMethod_next 295 } pxeHalftoneMethod_t; 296 297 typedef enum { 298 eDisableCT = 0, 299 eMax, 300 eNormal, 301 eLight, 302 pxeColorTrapping_next 303 } pxeColorTrapping_t; 304 305 typedef enum { 306 eTonerBlack = 0, 307 eProcessBlack, 308 pxeNeutralAxis_next 309 } pxeNeutralAxis_t; 310 311 typedef enum { 312 eNoTreatment = 0, 313 eScreenMatch, 314 eVivid, 315 pxeColorTreatment_next 316 } pxeColorTreatment; 317 318 #endif /* gdevpxen_INCLUDED */ 319