MLE.DEF 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * MLE.DEF - Modula-2 OS/2 API Multiline Editor interface *
  5. * *
  6. * COPYRIGHT (C) 1991..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# call(o_a_size=>off,o_a_copy=>off,result_optional=>on,
  11. reg_saved=>(si,di,ds,st1,st2),reg_param=>(),seg_name=>none,
  12. near_call=>off,ds_eq_ss=>off) *)
  13. (*# name(prefix=>os2_lib) *)
  14. (*# data(near_ptr=>off,var_enum_size=>off) *)
  15. (*# check(index=>off,range=>off,overflow=>off,nil_ptr=>off) *)
  16. (*# module(implementation=>off,init_code=>off) *)
  17. DEFINITION MODULE MLE;
  18. FROM OS2DEF IMPORT LPSTR;
  19. CONST
  20. (* MLE Window styles ( in addition to WS_* ) *)
  21. MLS_WORDWRAP = {0};
  22. MLS_BORDER = {1};
  23. MLS_VSCROLL = {2};
  24. MLS_HSCROLL = {3};
  25. MLS_READONLY = {4};
  26. MLS_IGNORETAB = {5};
  27. (* MLE External Data Types *)
  28. TYPE
  29. IPT = LONGINT; (* insertion point *)
  30. PIPT = POINTER TO IPT;
  31. PIX = LONGINT; (* pixel *)
  32. LINE = LONGCARD; (* Line number *)
  33. FORMATRECT = RECORD
  34. cxFormat : LONGINT;(* format rect width *)
  35. cyFormat : LONGINT;(* format rect height *)
  36. END; (*FORMATRECT*)
  37. PFORMATRECT = POINTER TO FORMATRECT;
  38. CTLDATA = RECORD
  39. cbCtlData : CARDINAL; (* Length of the CtlData structure *)
  40. afIEFormat : CARDINAL; (* import/export format *)
  41. cchText : LONGCARD; (* text limit *)
  42. iptAnchor : IPT; (* beginning of selection *)
  43. iptCursor : IPT; (* ending of selection *)
  44. cxFormat : LONGINT; (* format rectangle width *)
  45. cyFormat : LONGINT; (* format rectangle height *)
  46. afFormatFlags : LONGCARD; (* formatting rectangle flags - see mask below *)
  47. END; (*CTLDATA*)
  48. PCTLDATA = POINTER TO CTLDATA;
  49. CONST
  50. (* FormatFlags mask *)
  51. MLFFMTRECT_LIMITHORZ = {0};
  52. MLFFMTRECT_LIMITVERT = {1};
  53. MLFFMTRECT_MATCHWINDOW = {2};
  54. MLFFMTRECT_FORMATRECT = {0,1,2};
  55. (* afIEFormat - Import/Export Format flags *)
  56. MLFIE_CFTEXT = 0;
  57. MLFIE_NOTRANS = 1;
  58. MLFIE_WINFMT = 2;
  59. MLFIE_RFT = 3;
  60. TYPE
  61. (* MLN_OVERFLOW structure *)
  62. OVERFLOW = RECORD
  63. afErrInd : LONGCARD; (* see mask below *)
  64. nBytesOver : LONGINT; (* number of bytes overflowed *)
  65. pixHorzOver: LONGINT; (* number of pixels horizontally overflowed *)
  66. pixVertOver: LONGINT; (* number of pixels vertically overflowed *)
  67. END; (*OVERFLOW*)
  68. POVERFLOW = POINTER TO OVERFLOW;
  69. CONST
  70. (* afErrInd - error format rectangle flags *)
  71. MLFEFR_RESIZE = {0};
  72. MLFEFR_TABSTOP = {1};
  73. MLFEFR_FONT = {2};
  74. MLFEFR_TEXT = {3};
  75. MLFEFR_WORDWRAP = {4};
  76. MLFEFR_TEXTBYTES = {5};
  77. TYPE
  78. (* MLN_MARGIN structure *)
  79. MARGSTRUCT = RECORD
  80. afMargins : CARDINAL; (* margin indicator *)
  81. usMouMsg : CARDINAL; (* mouse message *)
  82. iptNear : IPT; (* the geometrically nearest insertion point *)
  83. END; (*MARGSTRUCT*)
  84. PMARGSTRUCT = POINTER TO MARGSTRUCT;
  85. CONST
  86. (* afFlags - margin notification indicators *)
  87. MLFMARGIN_LEFT = 1;
  88. MLFMARGIN_BOTTOM = 2;
  89. MLFMARGIN_RIGHT = 3;
  90. MLFMARGIN_TOP = 4;
  91. (* MLM_QUERYSELECTION flags *)
  92. MLFQS_MINMAXSEL = 0;
  93. MLFQS_MINSEL = 1;
  94. MLFQS_MAXSEL = 2;
  95. MLFQS_ANCHORSEL = 3;
  96. MLFQS_CURSORSEL = 4;
  97. (* MLN_CLPBDFAIL flags *)
  98. MLFCLPBD_TOOMUCHTEXT= 1;
  99. MLFCLPBD_ERROR = 2;
  100. TYPE
  101. (* MLM_SEARCH structure *)
  102. _SEARCHDATA = RECORD
  103. cb : CARDINAL; (* size of search spec structure *)
  104. pchFind : LPSTR; (* string to search for *)
  105. pchReplace : LPSTR; (* string to replace with *)
  106. cchFind : INTEGER; (* length of pchFind string *)
  107. cchReplace : INTEGER; (* length of replace string *)
  108. iptStart : IPT; (* point at which to start search *)
  109. (* (negative indicates cursor pt) *)
  110. (* becomes pt where string found *)
  111. iptStop : IPT; (* point at which to stop search *)
  112. (* (negative indicates EOT) *)
  113. cchFound : CARDINAL; (* Length of found string at iptStart *)
  114. END; (*SEARCHDATA*)
  115. P_SEARCHDATA = POINTER TO _SEARCHDATA;
  116. CONST
  117. (* MLM_SEARCH style flags *)
  118. MLFSEARCH_CASESENSITIVE = {0};
  119. MLFSEARCH_SELECTMATCH = {1};
  120. MLFSEARCH_CHANGEALL = {2};
  121. (* MLE messages - MLM from 01B0H to 01DEH; MLN from 0001H to 000FH *)
  122. (* formatting messages *)
  123. MLM_SETTEXTLIMIT = 01B0H;
  124. MLM_QUERYTEXTLIMIT = 01B1H;
  125. MLM_SETFORMATRECT = 01B2H;
  126. MLM_QUERYFORMATRECT = 01B3H;
  127. MLM_SETWRAP = 01B4H;
  128. MLM_QUERYWRAP = 01B5H;
  129. MLM_SETTABSTOP = 01B6H;
  130. MLM_QUERYTABSTOP = 01B7H;
  131. MLM_SETREADONLY = 01B8H;
  132. MLM_QUERYREADONLY = 01B9H;
  133. (* text content manipulation and queries messages *)
  134. MLM_QUERYCHANGED = 01BAH;
  135. MLM_SETCHANGED = 01BBH;
  136. MLM_QUERYLINECOUNT = 01BCH;
  137. MLM_CHARFROMLINE = 01BDH;
  138. MLM_LINEFROMCHAR = 01BEH;
  139. MLM_QUERYLINELENGTH = 01BFH;
  140. MLM_QUERYTEXTLENGTH = 01C0H;
  141. (* text import and export messages *)
  142. MLM_FORMAT = 01C1H;
  143. MLM_SETIMPORTEXPORT = 01C2H;
  144. MLM_IMPORT = 01C3H;
  145. MLM_EXPORT = 01C4H;
  146. MLM_DELETE = 01C6H;
  147. MLM_QUERYFORMATLINELENGTH = 01C7H;
  148. MLM_QUERYFORMATTEXTLENGTH = 01C8H;
  149. MLM_INSERT = 01C9H;
  150. (* selection messages *)
  151. MLM_SETSEL = 01CAH;
  152. MLM_QUERYSEL = 01CBH;
  153. MLM_QUERYSELTEXT = 01CCH;
  154. (* undo and redo messages *)
  155. MLM_QUERYUNDO = 01CDH;
  156. MLM_UNDO = 01CEH;
  157. MLM_RESETUNDO = 01CFH;
  158. (* text attributes messages *)
  159. MLM_QUERYFONT = 01D0H;
  160. MLM_SETFONT = 01D1H;
  161. MLM_SETTEXTCOLOR = 01D2H;
  162. MLM_QUERYTEXTCOLOR = 01D3H;
  163. MLM_SETBACKCOLOR = 01D4H;
  164. MLM_QUERYBACKCOLOR = 01D5H;
  165. (* scrolling messages *)
  166. MLM_QUERYFIRSTCHAR = 01D6H;
  167. MLM_SETFIRSTCHAR = 01D7H;
  168. (* clipboard messages *)
  169. MLM_CUT = 01D8H;
  170. MLM_COPY = 01D9H;
  171. MLM_PASTE = 01DAH;
  172. MLM_CLEAR = 01DBH;
  173. (* display manipulation messages *)
  174. MLM_ENABLEREFRESH = 01DCH;
  175. MLM_DISABLEREFRESH = 01DDH;
  176. (* search message *)
  177. MLM_SEARCH = 01DEH;
  178. MLM_QUERYIMPORTEXPORT = 01DFH;
  179. (* notification messages *)
  180. MLN_OVERFLOW = 0001H;
  181. MLN_PIXHORZOVERFLOW = 0002H;
  182. MLN_PIXVERTOVERFLOW = 0003H;
  183. MLN_TEXTOVERFLOW = 0004H;
  184. MLN_VSCROLL = 0005H;
  185. MLN_HSCROLL = 0006H;
  186. MLN_CHANGE = 0007H;
  187. MLN_SETFOCUS = 0008H;
  188. MLN_KILLFOCUS = 0009H;
  189. MLN_MARGIN = 000AH;
  190. MLN_SEARCHPAUSE = 000BH;
  191. MLN_MEMERROR = 000CH;
  192. MLN_UNDOOVERFLOW = 000DH;
  193. MLN_CLPBDFAIL = 000FH;
  194. END MLE.
  195.