DEV.DEF 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * DEV.DEF - Modula-2 OS/2 API Dev... interface *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# call(o_a_size => off,
  11. o_a_copy=>off,
  12. result_optional=>on,
  13. reg_saved => (si, di, ds, st1, st2),
  14. reg_param => (),
  15. seg_name => none,
  16. near_call => off,
  17. ds_eq_ss => off) *)
  18. (*# module(implementation=>off, init_code => off) *)
  19. (*# name(prefix => os2_lib) *)
  20. (*# data(near_ptr => off) *)
  21. DEFINITION MODULE Dev;
  22. (**)
  23. (**--- OS/2 Presentation Manager Dev ---------------------------------------*)
  24. (**)
  25. FROM OS2DEF IMPORT HDC,HMF,HAB,STR8,STR16,STR32,STR64,DRIVDATA;
  26. CONST
  27. (* General DEV return values *)
  28. DEV_ERROR = 0;
  29. DEV_OK = 1;
  30. (* DC type for DevOpenDC *)
  31. OD_QUEUED = 2;
  32. OD_DIRECT = 5;
  33. OD_INFO = 6;
  34. OD_METAFILE = 7;
  35. OD_MEMORY = 8;
  36. OD_METAFILE_NOQUERY = 9;
  37. (* Codes for DevQueryCaps *)
  38. CAPS_FAMILY = 0;
  39. CAPS_IO_CAPS = 1;
  40. CAPS_TECHNOLOGY = 2;
  41. CAPS_DRIVER_VERSION = 3;
  42. CAPS_WIDTH = 4;
  43. CAPS_HEIGHT = 5;
  44. CAPS_WIDTH_IN_CHARS = 6;
  45. CAPS_HEIGHT_IN_CHARS = 7;
  46. CAPS_HORIZONTAL_RESOLUTION = 8;
  47. CAPS_VERTICAL_RESOLUTION = 9;
  48. CAPS_CHAR_WIDTH = 10;
  49. CAPS_CHAR_HEIGHT = 11;
  50. CAPS_SMALL_CHAR_WIDTH = 12;
  51. CAPS_SMALL_CHAR_HEIGHT = 13;
  52. CAPS_COLORS = 14;
  53. CAPS_COLOR_PLANES = 15;
  54. CAPS_COLOR_BITCOUNT = 16;
  55. CAPS_COLOR_TABLE_SUPPORT = 17;
  56. CAPS_MOUSE_BUTTONS = 18;
  57. CAPS_FOREGROUND_MIX_SUPPORT = 19;
  58. CAPS_BACKGROUND_MIX_SUPPORT = 20;
  59. CAPS_DEVICE_WINDOWING = 31;
  60. CAPS_ADDITIONAL_GRAPHICS = 32;
  61. CAPS_VIO_LOADABLE_FONTS = 21;
  62. CAPS_WINDOW_BYTE_ALIGNMENT = 22;
  63. CAPS_BITMAP_FORMATS = 23;
  64. CAPS_RASTER_CAPS = 24;
  65. CAPS_MARKER_HEIGHT = 25;
  66. CAPS_MARKER_WIDTH = 26;
  67. CAPS_DEVICE_FONTS = 27;
  68. CAPS_GRAPHICS_SUBSET = 28;
  69. CAPS_GRAPHICS_VERSION = 29;
  70. CAPS_GRAPHICS_VECTOR_SUBSET = 30;
  71. CAPS_PHYS_COLORS = 33;
  72. CAPS_COLOR_INDEX = 34;
  73. CAPS_GRAPHICS_CHAR_WIDTH = 35;
  74. CAPS_GRAPHICS_CHAR_HEIGHT = 36;
  75. CAPS_HORIZONTAL_FONT_RES = 37;
  76. CAPS_VERTICAL_FONT_RES = 38;
  77. CAPS_DEVICE_FONT_SIM = 39;
  78. (* Constants for CAPS_IO_CAPS *)
  79. CAPS_IO_DUMMY = 1;
  80. CAPS_IO_SUPPORTS_OP = 2;
  81. CAPS_IO_SUPPORTS_IP = 3;
  82. CAPS_IO_SUPPORTS_IO = 4;
  83. (* Constants for CAPS_TECHNOLOGY *)
  84. CAPS_TECH_UNKNOWN = 0;
  85. CAPS_TECH_VECTOR_PLOTTER = 1;
  86. CAPS_TECH_RASTER_DISPLAY = 2;
  87. CAPS_TECH_RASTER_PRINTER = 3;
  88. CAPS_TECH_RASTER_CAMERA = 4;
  89. CAPS_TECH_POSTSCRIPT = 5;
  90. (* Constants for CAPS_COLOR_TABLE_SUPPORT *)
  91. CAPS_COLTABL_RGB_8 = 1;
  92. CAPS_COLTABL_RGB_8_PLUS = 2;
  93. CAPS_COLTABL_TRUE_MIX = 4;
  94. CAPS_COLTABL_REALIZE = 8;
  95. (* Constants for CAPS_FOREGROUND_MIX_SUPPORT *)
  96. CAPS_FM_OR = 1;
  97. CAPS_FM_OVERPAINT = 2;
  98. CAPS_FM_XOR = 8;
  99. CAPS_FM_LEAVEALONE = 16;
  100. CAPS_FM_AND = 32;
  101. CAPS_FM_GENERAL_BOOLEAN = 64;
  102. (* Constants for CAPS_BACKGROUND_MIX_SUPPORT *)
  103. CAPS_BM_OR = 1;
  104. CAPS_BM_OVERPAINT = 2;
  105. CAPS_BM_XOR = 8;
  106. CAPS_BM_LEAVEALONE = 16;
  107. (* Constants for CAPS_DEVICE_WINDOWING *)
  108. CAPS_DEV_WINDOWING_SUPPORT = 1;
  109. (* Constants for CAPS_ADDITIONAL_GRAPHICS *)
  110. CAPS_GRAPHICS_KERNING_SUPPORT = 2;
  111. CAPS_FONT_OUTLINE_DEFAULT = 4;
  112. CAPS_FONT_IMAGE_DEFAULT = 8;
  113. CAPS_SCALED_DEFAULT_MARKERS = 64;
  114. (* Constants for CAPS_WINDOW_BYTE_ALIGNMENT *)
  115. CAPS_BYTE_ALIGN_REQUIRED = 0;
  116. CAPS_BYTE_ALIGN_RECOMMENDED = 1;
  117. CAPS_BYTE_ALIGN_NOT_REQUIRED = 2;
  118. (* Constants for CAPS_RASTER_CAPS *)
  119. CAPS_RASTER_BITBLT = 1;
  120. CAPS_RASTER_BANDING = 2;
  121. CAPS_RASTER_BITBLT_SCALING = 4;
  122. CAPS_RASTER_SET_PEL = 16;
  123. CAPS_RASTER_FONTS = 32;
  124. PROCEDURE OpenDC(a: HAB; t: LONGINT; n: ARRAY OF CHAR; c: LONGCARD; d: FarADDRESS; h:HDC): HDC;
  125. PROCEDURE CloseDC(h: HDC): HMF;
  126. PROCEDURE QueryCaps(h: HDC; s,c: LONGCARD; VAR a:ARRAY OF LONGINT): BOOLEAN;
  127. CONST
  128. (* Return codes for Escape *)
  129. ESC_ERROR =-1;
  130. ESC_NOTIMPLEMENTED = 0;
  131. (* Codes for Escape *)
  132. ESC_QUERYESCSUPPORT = 0;
  133. ESC_GETSCALINGFACTOR = 1;
  134. ESC_QUERYVIOCELLSIZES = 2;
  135. ESC_STARTDOC = 8150;
  136. ESC_ENDDOC = 8151;
  137. ESC_NEXTBAND = 8152;
  138. ESC_ABORTDOC = 8153;
  139. ESC_NEWFRAME = 16300;
  140. ESC_DRAFTMODE = 16301;
  141. ESC_FLUSHOUTPUT = 16302;
  142. ESC_RAWDATA = 16303;
  143. (* Dev Escape code 16304 is reserved *)
  144. ESC_DBE_FIRST = 24450;
  145. ESC_DBE_LAST = 24455;
  146. (* DevEscape codes for adding extra space to character strings *)
  147. ESC_CHAR_EXTRA = 16998;
  148. ESC_BREAK_EXTRA = 16999;
  149. (* Codes for Escape PM_Q_ESC spool files *)
  150. ESC_STD_JOURNAL = 32600;
  151. (* Return codes for PostDeviceModes *)
  152. DPDM_ERROR = -1;
  153. DPDM_NONE = 0;
  154. (* codes for DevPostDeviceModes *)
  155. DPDM_POSTJOBPROP = 0;
  156. DPDM_CHANGEPROP = 1;
  157. DPDM_QUERYJOBPROP = 2;
  158. (* Return code for QueryHardcopyCaps *)
  159. DQHC_ERROR = -1;
  160. (* Codes for QueryHardcopyCaps *)
  161. HCAPS_CURRENT = 1;
  162. HCAPS_SELECTABLE = 2;
  163. TYPE
  164. HCINFO = RECORD
  165. formname : STR32;
  166. cx,cy : LONGINT;
  167. xLeftClip : LONGINT;
  168. yBottomClip : LONGINT;
  169. xRightClip : LONGINT;
  170. yTopClip : LONGINT;
  171. xPels : LONGINT;
  172. yPels : LONGINT;
  173. flAttributes : LONGINT;
  174. END;
  175. PROCEDURE Escape(h:HDC;e:LONGINT;c:LONGCARD;b:ARRAY OF BYTE;VAR oc:LONGCARD;VAR ob :ARRAY OF BYTE):LONGINT;
  176. PROCEDURE QueryDeviceNames(a:HAB; drn:ARRAY OF CHAR;VAR dn:LONGCARD; VAR dns: ARRAY OF STR32; VAR dds:ARRAY OF STR64;
  177. VAR dt : LONGCARD; VAR dts: ARRAY OF STR16):BOOLEAN;
  178. PROCEDURE QueryHardcopyCaps(h:HDC;s:LONGINT;f:LONGINT;VAR i:HCINFO):LONGINT;
  179. PROCEDURE PostDeviceModes(a:HAB;VAR d:DRIVDATA;drn,den,n:ARRAY OF CHAR):LONGINT;
  180. END Dev.
  181.