gdevpxen.h 7.1 KB

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