(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * MLE.DEF - Modula-2 OS/2 API Multiline Editor interface * * * * COPYRIGHT (C) 1991..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# call(o_a_size=>off,o_a_copy=>off,result_optional=>on, reg_saved=>(si,di,ds,st1,st2),reg_param=>(),seg_name=>none, near_call=>off,ds_eq_ss=>off) *) (*# name(prefix=>os2_lib) *) (*# data(near_ptr=>off,var_enum_size=>off) *) (*# check(index=>off,range=>off,overflow=>off,nil_ptr=>off) *) (*# module(implementation=>off,init_code=>off) *) DEFINITION MODULE MLE; FROM OS2DEF IMPORT LPSTR; CONST (* MLE Window styles ( in addition to WS_* ) *) MLS_WORDWRAP = {0}; MLS_BORDER = {1}; MLS_VSCROLL = {2}; MLS_HSCROLL = {3}; MLS_READONLY = {4}; MLS_IGNORETAB = {5}; (* MLE External Data Types *) TYPE IPT = LONGINT; (* insertion point *) PIPT = POINTER TO IPT; PIX = LONGINT; (* pixel *) LINE = LONGCARD; (* Line number *) FORMATRECT = RECORD cxFormat : LONGINT;(* format rect width *) cyFormat : LONGINT;(* format rect height *) END; (*FORMATRECT*) PFORMATRECT = POINTER TO FORMATRECT; CTLDATA = RECORD cbCtlData : CARDINAL; (* Length of the CtlData structure *) afIEFormat : CARDINAL; (* import/export format *) cchText : LONGCARD; (* text limit *) iptAnchor : IPT; (* beginning of selection *) iptCursor : IPT; (* ending of selection *) cxFormat : LONGINT; (* format rectangle width *) cyFormat : LONGINT; (* format rectangle height *) afFormatFlags : LONGCARD; (* formatting rectangle flags - see mask below *) END; (*CTLDATA*) PCTLDATA = POINTER TO CTLDATA; CONST (* FormatFlags mask *) MLFFMTRECT_LIMITHORZ = {0}; MLFFMTRECT_LIMITVERT = {1}; MLFFMTRECT_MATCHWINDOW = {2}; MLFFMTRECT_FORMATRECT = {0,1,2}; (* afIEFormat - Import/Export Format flags *) MLFIE_CFTEXT = 0; MLFIE_NOTRANS = 1; MLFIE_WINFMT = 2; MLFIE_RFT = 3; TYPE (* MLN_OVERFLOW structure *) OVERFLOW = RECORD afErrInd : LONGCARD; (* see mask below *) nBytesOver : LONGINT; (* number of bytes overflowed *) pixHorzOver: LONGINT; (* number of pixels horizontally overflowed *) pixVertOver: LONGINT; (* number of pixels vertically overflowed *) END; (*OVERFLOW*) POVERFLOW = POINTER TO OVERFLOW; CONST (* afErrInd - error format rectangle flags *) MLFEFR_RESIZE = {0}; MLFEFR_TABSTOP = {1}; MLFEFR_FONT = {2}; MLFEFR_TEXT = {3}; MLFEFR_WORDWRAP = {4}; MLFEFR_TEXTBYTES = {5}; TYPE (* MLN_MARGIN structure *) MARGSTRUCT = RECORD afMargins : CARDINAL; (* margin indicator *) usMouMsg : CARDINAL; (* mouse message *) iptNear : IPT; (* the geometrically nearest insertion point *) END; (*MARGSTRUCT*) PMARGSTRUCT = POINTER TO MARGSTRUCT; CONST (* afFlags - margin notification indicators *) MLFMARGIN_LEFT = 1; MLFMARGIN_BOTTOM = 2; MLFMARGIN_RIGHT = 3; MLFMARGIN_TOP = 4; (* MLM_QUERYSELECTION flags *) MLFQS_MINMAXSEL = 0; MLFQS_MINSEL = 1; MLFQS_MAXSEL = 2; MLFQS_ANCHORSEL = 3; MLFQS_CURSORSEL = 4; (* MLN_CLPBDFAIL flags *) MLFCLPBD_TOOMUCHTEXT= 1; MLFCLPBD_ERROR = 2; TYPE (* MLM_SEARCH structure *) _SEARCHDATA = RECORD cb : CARDINAL; (* size of search spec structure *) pchFind : LPSTR; (* string to search for *) pchReplace : LPSTR; (* string to replace with *) cchFind : INTEGER; (* length of pchFind string *) cchReplace : INTEGER; (* length of replace string *) iptStart : IPT; (* point at which to start search *) (* (negative indicates cursor pt) *) (* becomes pt where string found *) iptStop : IPT; (* point at which to stop search *) (* (negative indicates EOT) *) cchFound : CARDINAL; (* Length of found string at iptStart *) END; (*SEARCHDATA*) P_SEARCHDATA = POINTER TO _SEARCHDATA; CONST (* MLM_SEARCH style flags *) MLFSEARCH_CASESENSITIVE = {0}; MLFSEARCH_SELECTMATCH = {1}; MLFSEARCH_CHANGEALL = {2}; (* MLE messages - MLM from 01B0H to 01DEH; MLN from 0001H to 000FH *) (* formatting messages *) MLM_SETTEXTLIMIT = 01B0H; MLM_QUERYTEXTLIMIT = 01B1H; MLM_SETFORMATRECT = 01B2H; MLM_QUERYFORMATRECT = 01B3H; MLM_SETWRAP = 01B4H; MLM_QUERYWRAP = 01B5H; MLM_SETTABSTOP = 01B6H; MLM_QUERYTABSTOP = 01B7H; MLM_SETREADONLY = 01B8H; MLM_QUERYREADONLY = 01B9H; (* text content manipulation and queries messages *) MLM_QUERYCHANGED = 01BAH; MLM_SETCHANGED = 01BBH; MLM_QUERYLINECOUNT = 01BCH; MLM_CHARFROMLINE = 01BDH; MLM_LINEFROMCHAR = 01BEH; MLM_QUERYLINELENGTH = 01BFH; MLM_QUERYTEXTLENGTH = 01C0H; (* text import and export messages *) MLM_FORMAT = 01C1H; MLM_SETIMPORTEXPORT = 01C2H; MLM_IMPORT = 01C3H; MLM_EXPORT = 01C4H; MLM_DELETE = 01C6H; MLM_QUERYFORMATLINELENGTH = 01C7H; MLM_QUERYFORMATTEXTLENGTH = 01C8H; MLM_INSERT = 01C9H; (* selection messages *) MLM_SETSEL = 01CAH; MLM_QUERYSEL = 01CBH; MLM_QUERYSELTEXT = 01CCH; (* undo and redo messages *) MLM_QUERYUNDO = 01CDH; MLM_UNDO = 01CEH; MLM_RESETUNDO = 01CFH; (* text attributes messages *) MLM_QUERYFONT = 01D0H; MLM_SETFONT = 01D1H; MLM_SETTEXTCOLOR = 01D2H; MLM_QUERYTEXTCOLOR = 01D3H; MLM_SETBACKCOLOR = 01D4H; MLM_QUERYBACKCOLOR = 01D5H; (* scrolling messages *) MLM_QUERYFIRSTCHAR = 01D6H; MLM_SETFIRSTCHAR = 01D7H; (* clipboard messages *) MLM_CUT = 01D8H; MLM_COPY = 01D9H; MLM_PASTE = 01DAH; MLM_CLEAR = 01DBH; (* display manipulation messages *) MLM_ENABLEREFRESH = 01DCH; MLM_DISABLEREFRESH = 01DDH; (* search message *) MLM_SEARCH = 01DEH; MLM_QUERYIMPORTEXPORT = 01DFH; (* notification messages *) MLN_OVERFLOW = 0001H; MLN_PIXHORZOVERFLOW = 0002H; MLN_PIXVERTOVERFLOW = 0003H; MLN_TEXTOVERFLOW = 0004H; MLN_VSCROLL = 0005H; MLN_HSCROLL = 0006H; MLN_CHANGE = 0007H; MLN_SETFOCUS = 0008H; MLN_KILLFOCUS = 0009H; MLN_MARGIN = 000AH; MLN_SEARCHPAUSE = 000BH; MLN_MEMERROR = 000CH; MLN_UNDOOVERFLOW = 000DH; MLN_CLPBDFAIL = 000FH; END MLE.