os2def.pas 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. {****************************************************************************
  2. Copyright (c) 1993,94 by Florian Kl„mpfl
  3. ****************************************************************************}
  4. unit os2def;
  5. interface
  6. const
  7. SEVERITY_NOERROR = $0;
  8. SEVERITY_WARNING = $4;
  9. SEVERITY_ERROR = $8;
  10. SEVERITY_SEVERE = $c;
  11. SEVERITY_UNRECOVERABLE = $10;
  12. WINERR_BASE = $1000;
  13. GPIERR_BASE = $2000;
  14. DEVERR_BASE = $3000;
  15. SPLERR_BASE = $4000;
  16. ADDRESS = 0;
  17. DRIVER_NAME = 1;
  18. DRIVER_DATA = 2;
  19. DATA_TYPE = 3;
  20. COMMENT = 4;
  21. PROC_NAME = 5;
  22. PROC_PARAMS = 6;
  23. SPL_PARAMS = 7;
  24. NETWORK_PARAMS = 8;
  25. PD_JOB_PROPERTY = $0001;
  26. FATTR_SEL_ITALIC = $0001;
  27. FATTR_SEL_UNDERSCORE = $0002;
  28. FATTR_SEL_OUTLINE = $0008;
  29. FATTR_SEL_STRIKEOUT = $0010;
  30. FATTR_SEL_BOLD = $0020;
  31. FATTR_TYPE_KERNING = $0004;
  32. FATTR_TYPE_MBCS = $0008;
  33. FATTR_TYPE_DBCS = $0010;
  34. FATTR_TYPE_ANTIALIASED = $0020;
  35. FATTR_FONTUSE_NOMIX = $0002;
  36. FATTR_FONTUSE_OUTLINE = $0004;
  37. FATTR_FONTUSE_TRANSFORMABLE = $0008;
  38. FACESIZE = 32;
  39. FM_TYPE_FIXED = $0001;
  40. FM_TYPE_LICENSED = $0002;
  41. FM_TYPE_KERNING = $0004;
  42. FM_TYPE_DBCS = $0010;
  43. FM_TYPE_MBCS = $0018;
  44. FM_TYPE_64K = $8000;
  45. FM_TYPE_ATOMS = $4000;
  46. FM_TYPE_FAMTRUNC = $2000;
  47. FM_TYPE_FACETRUNC = $1000;
  48. FM_DEFN_OUTLINE = $0001;
  49. FM_DEFN_IFI = $0002;
  50. FM_DEFN_WIN = $0004;
  51. FM_DEFN_GENERIC = $8000;
  52. FM_SEL_ITALIC = $0001;
  53. FM_SEL_UNDERSCORE = $0002;
  54. FM_SEL_NEGATIVE = $0004;
  55. FM_SEL_OUTLINE = $0008;
  56. FM_SEL_STRIKEOUT = $0010;
  57. FM_SEL_BOLD = $0020;
  58. FM_CAP_NOMIX = $0001;
  59. type
  60. pcardinal = ^cardinal;
  61. plongint = ^longint;
  62. pinteger = ^integer;
  63. pshortint = ^shortint;
  64. ppointer = ^pointer;
  65. pbyte = ^byte;
  66. POINTL = record
  67. x : cardinal;
  68. y : cardinal;
  69. end;
  70. PPOINTL = ^POINTL;
  71. POINTS = record
  72. x : integer;
  73. y : integer;
  74. end;
  75. PPOINTS = ^POINTS;
  76. RECTL = record
  77. xLeft : longint;
  78. yBottom : longint;
  79. xRight : longint;
  80. yTop : longint;
  81. end;
  82. PRECTL = ^RECTL;
  83. NPRECTL = ^RECTL;
  84. STR8 = array[0..7] of CHAR;
  85. PSTR8 = ^STR8;
  86. DRIVDATA = record
  87. cb : longint;
  88. lVersion : longint;
  89. szDeviceName : array[0..32-1] of CHAR;
  90. abGeneralData : array[0..1-1] of CHAR;
  91. end;
  92. PDRIVDATA = ^DRIVDATA;
  93. PDEVOPENDATA = pshortint; {Initially, ^PSZ}
  94. DEVOPENSTRUC = record
  95. pszLogAddress : pchar;
  96. pszDriverName : pchar;
  97. pdriv : PDRIVDATA;
  98. pszDataType : pchar;
  99. pszComment : pchar;
  100. pszQueueProcName : pchar;
  101. pszQueueProcParams : pchar;
  102. pszSpoolerParams : pchar;
  103. pszNetworkParams : pchar;
  104. end;
  105. PDEVOPENSTRUC = ^DEVOPENSTRUC;
  106. PRINTDEST = record
  107. cb : cardinal;
  108. lType : longint;
  109. pszToken : pchar;
  110. lCount : longint;
  111. pdopData : PDEVOPENDATA;
  112. fl : cardinal;
  113. pszPrinter : pchar;
  114. end;
  115. PPRINTDEST = ^PRINTDEST;
  116. FATTRS = record
  117. usRecordLength : word;
  118. fsSelection : word;
  119. lMatch : longint;
  120. szFacename : array[0..FACESIZE-1] of CHAR;
  121. idRegistry : word;
  122. usCodePage : word;
  123. lMaxBaselineExt : longint;
  124. lAveCharWidth : longint;
  125. fsType : word;
  126. fsFontUse : word;
  127. end;
  128. PFATTRS = ^FATTRS;
  129. PANOSE = record
  130. bFamilyType : BYTE;
  131. bSerifStyle : BYTE;
  132. bWeight : BYTE;
  133. bProportion : BYTE;
  134. bContrast : BYTE;
  135. bStrokeVariation : BYTE;
  136. bArmStyle : BYTE;
  137. bLetterform : BYTE;
  138. bMidline : BYTE;
  139. bXHeight : BYTE;
  140. abReserved : array[0..2-1] of BYTE;
  141. end;
  142. FONTMETRICS = record
  143. szFamilyname : array[0..FACESIZE-1] of CHAR;
  144. szFacename : array[0..FACESIZE-1] of CHAR;
  145. idRegistry : word;
  146. usCodePage : word;
  147. lEmHeight : longint;
  148. lXHeight : longint;
  149. lMaxAscender : longint;
  150. lMaxDescender : longint;
  151. lLowerCaseAscent : longint;
  152. lLowerCaseDescent : longint;
  153. lInternalLeading : longint;
  154. lExternalLeading : longint;
  155. lAveCharWidth : longint;
  156. lMaxCharInc : longint;
  157. lEmInc : longint;
  158. lMaxBaselineExt : longint;
  159. sCharSlope : integer;
  160. sInlineDir : integer;
  161. sCharRot : integer;
  162. usWeightClass : word;
  163. usWidthClass : word;
  164. sXDeviceRes : integer;
  165. sYDeviceRes : integer;
  166. sFirstChar : integer;
  167. sLastChar : integer;
  168. sDefaultChar : integer;
  169. sBreakChar : integer;
  170. sNominalPointSize : integer;
  171. sMinimumPointSize : integer;
  172. sMaximumPointSize : integer;
  173. fsType : word;
  174. fsDefn : word;
  175. fsSelection : word;
  176. fsCapabilities : word;
  177. lSubscriptXSize : longint;
  178. lSubscriptYSize : longint;
  179. lSubscriptXOffset : longint;
  180. lSubscriptYOffset : longint;
  181. lSuperscriptXSize : longint;
  182. lSuperscriptYSize : longint;
  183. lSuperscriptXOffset : longint;
  184. lSuperscriptYOffset : longint;
  185. lUnderscoreSize : longint;
  186. lUnderscorePosition : longint;
  187. lStrikeoutSize : longint;
  188. lStrikeoutPosition : longint;
  189. sKerningPairs : integer;
  190. sFamilyClass : integer;
  191. lMatch : longint;
  192. FamilyNameAtom : longint;
  193. FaceNameAtom : longint;
  194. panose : PANOSE;
  195. end;
  196. PFONTMETRICS = ^FONTMETRICS;
  197. { Nun folgen einige FPKPascal-spezifische Typen: }
  198. { null. term. Strings sind in den Header Dateien oft als }
  199. { array[0..0] of byte deklariert, der folgende Typ er- }
  200. { m”glich eine Typkonvertierung }
  201. CHARARRAY = array[0..0] of char;
  202. implementation
  203. end.