| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- (******************************************************************************)
- (* MW.DEF - MetaWINDOW (Plus) 3.6a Interface. *)
- (* *)
- (* This definition module provides an interface with the Microsoft C *)
- (* interface for MetaWINDOW and MetaWINDOW Plus v3.6a. It should not be *)
- (* IMPORTed into your programs directly. IMPORT Meta instead which provides *)
- (* access to this module and performs the necessary initialisations. *)
- (* *)
- (* PSW 06/28/91 08:30am *)
- (******************************************************************************)
- (*# module(implementation=>off, init_code=>off) *)
- DEFINITION MODULE MW;
- (*
- * Graphix
- * Release 3.7
- * (c) Copyright 1986-1992 PMI
- * Green Bay, Wisconsin
- * (414) 468-6040
- * All rights reserved
- *
- *)
- FROM GrConst IMPORT rect, point, adsPoint, image, adsImage, polyHead,
- adsPolyHead, event, cursor, patRcd, HCInfoRec, penState, dirRec,
- imageHeader, dashRcd, palData, CCBtype, MCBtype, mapArray, adsImage;
- FROM GrPorts IMPORT bitmap, adsBMap, metaPort, adsPort, pusharea, adsMem;
- FROM GrFonts IMPORT adsFont;
- (*# save, name(prefix => none) *)
- VAR
- Meta_DPL: BYTE; (* Used to 'find' MetaWINDOW. *)
- (*# data(near_ptr => off),
- call(o_a_copy => off, o_a_size => off, c_conv => on, near_call => off,
- reg_saved => (si, di, ds, st1, st2), reg_param => ()),
- name(prefix => c)
- *)
- TYPE
- MsProc = PROCEDURE (); (* Mouse service handler. *)
- UsProc = PROCEDURE (VAR CCBtype); (* User service handler. *)
- PROCEDURE AddPt (VAR SRCPT, DSTPT: point);
- PROCEDURE AlignPattern (PATTERN, PATX, PATY: INTEGER);
- PROCEDURE BackColor (COLOR: INTEGER);
- PROCEDURE BackLColor (LCOLOR: LONGINT);
- PROCEDURE BackPattern (PATTERN: INTEGER);
- PROCEDURE BorderColor (COLOR: INTEGER);
- PROCEDURE CenterRect (VAR PT: point; WIDTHX, HEIGHTY: INTEGER; VAR R: rect);
- PROCEDURE CharWidth (CH: CHAR) : INTEGER;
- PROCEDURE ClearText ();
- PROCEDURE ClipRect (VAR R: rect);
- PROCEDURE CodeSeg (): WORD;
- PROCEDURE CopyBits (VAR SRCMAP, DSTMAP: bitmap;
- VAR SRCRECT, DSTRECT, DSTCLIP: rect; RASOP: INTEGER);
- PROCEDURE CursorBitmap (NEWMAP: adsBMap);
- PROCEDURE CursorColor (FORECOLOR, BACKCOLOR: LONGINT);
- PROCEDURE CursorMap (VAR BUTTONMAP: mapArray);
- PROCEDURE CursorStyle (CURSORNBR: INTEGER);
- PROCEDURE DataSeg (): WORD;
- PROCEDURE DefineCursor (CURSORNBR, HOTX, HOTY: INTEGER;
- VAR SCREENMASK, CURSORMASK: cursor);
- PROCEDURE DefineDash (DASHNBR: INTEGER; VAR DASHARRAY: dashRcd);
- PROCEDURE DefinePattern (PATTERN: INTEGER; VAR PATIMAGE: patRcd);
- PROCEDURE DrawChar (CH: CHAR);
- PROCEDURE DrawString (TEXTSTR: ARRAY OF CHAR);
- PROCEDURE DrawText (TEXTSTR: ARRAY OF CHAR; INDEX, COUNT: INTEGER);
- PROCEDURE DupBitmap (VAR SRCMAP, DSTMAP: bitmap);
- PROCEDURE DupPort (VAR SRCPORT, DSTPORT: metaPort);
- PROCEDURE DupPt (VAR SRCPT, DSTPT: point);
- PROCEDURE DupRect (VAR SRCRECT, DSTRECT: rect);
- PROCEDURE EqualPt (VAR PT1, PT2: point): BOOLEAN;
- PROCEDURE EqualRect (VAR RECT1, RECT2: rect): BOOLEAN;
- PROCEDURE EraseArc (VAR R: rect; BGNANGLE, ARCANGLE: INTEGER);
- PROCEDURE EraseOval (VAR R: rect);
- PROCEDURE ErasePoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint);
- PROCEDURE EraseRect (VAR R: rect);
- PROCEDURE EraseRoundRect (VAR R: rect; DIAX, DIAY: INTEGER);
- PROCEDURE EventQueue (TF: BOOLEAN);
- PROCEDURE ExtraSeg (): WORD;
- PROCEDURE FileAttr (FILENAME: ARRAY OF CHAR; ATTR: WORD): INTEGER;
- PROCEDURE FileDelete (FILENAME: ARRAY OF CHAR): INTEGER;
- PROCEDURE FileLoad (FILENAME: ARRAY OF CHAR;
- DATAAREA: adsMem; AREASIZE: CARDINAL): INTEGER;
- PROCEDURE FileQuery (FILESPEC: ARRAY OF CHAR;
- VAR DIRINFO: dirRec; DIRSIZE: CARDINAL): INTEGER;
- PROCEDURE FileRename (OLDNAME, NEWNAME: ARRAY OF CHAR): INTEGER;
- PROCEDURE FileStore (FILENAME: ARRAY OF CHAR; DATAAREA: adsMem; AREASIZE: CARDINAL): INTEGER;
- PROCEDURE FillArc (VAR R: rect; BGNANGLE: INTEGER;
- ARCANGLE, PATTERN: INTEGER);
- PROCEDURE FillOval (VAR R: rect; PATTERN: INTEGER);
- PROCEDURE FillPoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint; PATTERN: INTEGER);
- PROCEDURE FillRect (VAR R: rect; PATTERN: INTEGER);
- PROCEDURE FillRoundRect (VAR R: rect; DIAX, DIAY, PATTERN: INTEGER);
- PROCEDURE FrameArc (VAR R: rect; BGNANGLE, ARCANGLE: INTEGER);
- PROCEDURE FrameOval (VAR R: rect);
- PROCEDURE FramePoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint);
- PROCEDURE FrameRect (VAR R: rect);
- PROCEDURE FrameRoundRect (VAR R: rect; DIAX, DIAY: INTEGER);
- PROCEDURE Gbl2LclPt (VAR PT: point);
- PROCEDURE Gbl2LclRect (VAR R: rect);
- PROCEDURE Gbl2VirPt (VAR PT: point);
- PROCEDURE Gbl2VirRect (VAR R: rect);
- PROCEDURE GetAddress (VARBL: FarADDRESS; VAR SGM, OFF: INTEGER);
- PROCEDURE GetBits (X, Y: INTEGER; VAR SRCMAP: bitmap): LONGINT;
- PROCEDURE GetCmdLine (VAR CMDSTRING: ARRAY OF CHAR);
- PROCEDURE GetFontField (FIELD: INTEGER): INTEGER;
- PROCEDURE GetLPixel (X, Y: INTEGER; VAR LCOLOR: LONGINT);
- PROCEDURE GetPenState (VAR STATE: penState);
- PROCEDURE GetPixel (X, Y: INTEGER): INTEGER;
- PROCEDURE GetPort (VAR PORTPTR: adsPort);
- PROCEDURE GrInitErr (ERROR: INTEGER);
- PROCEDURE HardCopy (SRCPORT: adsPort): WORD;
- PROCEDURE HideCursor ();
- PROCEDURE HidePen ();
- PROCEDURE ImagePara (VAR R: rect): WORD;
- PROCEDURE ImageSize (VAR R: rect): LONGINT;
- PROCEDURE InceptRect (VAR RECT1, RECT2, DSTRECT: rect): BOOLEAN;
- PROCEDURE InitBitmap (VAR NEWMAP: bitmap; INTERLEAVE,
- BASESEG, BASEOFF, INTERSEG, INTEROFF: INTEGER);
- PROCEDURE InitGrafix (DEVMODE: INTEGER): INTEGER;
- PROCEDURE InitMouse (MOUSPORT: INTEGER);
- PROCEDURE InitPort (PORT: adsPort);
- PROCEDURE InitRowTable (NEWMAP: adsBMap; INTERLEAVE,
- INTERSEG, INTEROFF: INTEGER);
- PROCEDURE InsetRect (VAR R: rect; DX, DY: INTEGER);
- PROCEDURE InvertArc (VAR R: rect; BGNANGLE, ARCANGLE: INTEGER);
- PROCEDURE InvertOval (VAR R: rect);
- PROCEDURE InvertPoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint);
- PROCEDURE InvertRect (VAR R: rect);
- PROCEDURE InvertRoundRect(VAR R: rect; DIAX, DIAY: INTEGER);
- PROCEDURE KeyEvent (WAIT: BOOLEAN; VAR EVNT: event): BOOLEAN;
- PROCEDURE Lcl2GblPt (VAR PT: point);
- PROCEDURE Lcl2GblRect (VAR R: rect);
- PROCEDURE Lcl2VirPt (VAR PT: point);
- PROCEDURE Lcl2VirRect (VAR R: rect);
- PROCEDURE LimitMouse (XMIN, YMIN, XMAX, YMAX: INTEGER);
- PROCEDURE LineRel (DLTX, DLTY: INTEGER);
- PROCEDURE LineTo (X, Y: INTEGER);
- PROCEDURE LoadFont (FONTNAME: ARRAY OF CHAR): INTEGER;
- PROCEDURE LoadPalette (BGNINDEX, ENDINDEX: INTEGER; VAR COLORS: ARRAY OF WORD);
- PROCEDURE MapPoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint; VAR SRCR: rect; VAR DSTR: rect);
- PROCEDURE MapPt (VAR PT: point; VAR SRCR, DSTR: rect);
- PROCEDURE MapRect (VAR R: rect; VAR SRCR, DSTR: rect);
- PROCEDURE MarkerAngle (ANGLE: INTEGER);
- PROCEDURE MarkerSize (WIDTH, HEIGHT: INTEGER);
- PROCEDURE MarkerType (MARKERNBR: INTEGER);
- PROCEDURE MetaVersion (VAR STRING: ARRAY OF CHAR);
- PROCEDURE MiterLimit (LIMITANGLE: INTEGER);
- PROCEDURE MoveCursor (X, Y: INTEGER);
- PROCEDURE MovePortTo (GBLLEFT, GBLTOP: INTEGER);
- PROCEDURE MoveRel (DLTX, DLTY: INTEGER);
- PROCEDURE MoveTo (X, Y: INTEGER);
- PROCEDURE OffsetPoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint; DX, DY: INTEGER);
- PROCEDURE OffsetRect (VAR R: rect; DX, DY: INTEGER);
- PROCEDURE OvalPt (VAR R: rect; ANGLE: INTEGER; VAR PT: point);
- PROCEDURE PaintArc (VAR R: rect; BGNANGLE, ENDANGLE: INTEGER);
- PROCEDURE PaintOval (VAR R: rect);
- PROCEDURE PaintPoly (POLYCNT: INTEGER; POLYHDR: adsPolyHead;
- POLYPTS: adsPoint);
- PROCEDURE PaintRect (VAR R: rect);
- PROCEDURE PaintRoundRect (VAR R: rect; DIAX, DIAY: INTEGER);
- PROCEDURE PeekEvent (INDEX: INTEGER; VAR EVNT: event): BOOLEAN;
- PROCEDURE PenCap (CAPSTYLE: INTEGER);
- PROCEDURE PenColor (COLOR: INTEGER);
- PROCEDURE PenDash (DASHSTYLE: INTEGER);
- PROCEDURE PenJoin (JOINSTYLE: INTEGER);
- PROCEDURE PenLColor (LCOLOR: LONGINT);
- PROCEDURE PenMode (RASOP: INTEGER);
- PROCEDURE PenNormal ();
- PROCEDURE PenOffset (DASHOFFSET: INTEGER);
- PROCEDURE PenPattern (PATTERN: INTEGER);
- PROCEDURE PenSize (DIAX, DIAY: INTEGER);
- PROCEDURE PlaneMask (PMASK: INTEGER);
- PROCEDURE PolyLine (PTCNT: INTEGER; PTS: adsPoint);
- PROCEDURE PolyMarker (NPTS: INTEGER; XYPTS: adsPoint);
- PROCEDURE PopGrafix (VAR SAVEAREA: pusharea);
- PROCEDURE PortBitmap (NEWMAP: adsBMap);
- PROCEDURE PortOrigin (TOPBOT: BOOLEAN);
- PROCEDURE PortSize (PIXWIDTHX, PIXHEIGHTY: INTEGER);
- PROCEDURE ProtectOff ();
- PROCEDURE ProtectRect (VAR R: rect);
- PROCEDURE Pt2Rect (VAR PT1, PT2: point; VAR R: rect);
- PROCEDURE PtInArc (VAR TESTPT: point; VAR R: rect;
- BGNANGLE, ARCANGLE: INTEGER): BOOLEAN;
- PROCEDURE PtInOval (VAR TESTPT: point; VAR R: rect): BOOLEAN;
- PROCEDURE PtInPoly (VAR TESTPT: point; POLYCNT: INTEGER;
- POLYHDRS: adsPolyHead; POLYPTS: adsPoint): BOOLEAN;
- PROCEDURE PtInRect (VAR TESTPT: point; VAR R: rect): BOOLEAN;
- PROCEDURE PtInRoundRect (VAR TESTPT: point; VAR R: rect;
- DIAX, DIAY: INTEGER): BOOLEAN;
- PROCEDURE PtOnArc (VAR TESTPT: point; VAR R: rect;
- BGNANGLE, ARCANGLE, SIZEX, SIZEY: INTEGER): INTEGER;
- PROCEDURE PtOnLine (VAR TESTPT: point; VAR PT1, PT2: point;
- SIZEX, SIZEY: INTEGER): BOOLEAN;
- PROCEDURE PtOnOval (VAR TESTPT: point; VAR R: rect;
- SIZEX, SIZEY: INTEGER): INTEGER;
- PROCEDURE PtOnRect (VAR TESTPT: point; VAR R: rect;
- SIZEX, SIZEY: INTEGER): INTEGER;
- PROCEDURE PtOnRoundRect (VAR TESTPT: point; VAR R: rect;
- DIAX, DIAY: INTEGER; SIZEX, SIZEY: INTEGER): INTEGER;
- PROCEDURE PtOnPoly (VAR TESTPT: point; POLYCNT: INTEGER;
- POLYHDRS: adsPolyHead; POLYPTS: adsPoint;
- penX, penY: INTEGER): INTEGER;
- PROCEDURE PtToAngle (VAR R: rect; VAR PT: point): INTEGER;
- PROCEDURE PushGrafix (VAR SAVEAREA: pusharea);
- PROCEDURE QueryColors (): INTEGER;
- PROCEDURE QueryComm (): INTEGER;
- PROCEDURE QueryCursor (VAR CURSORX, CURSORY, CURSORLEVEL, BUTTONS: INTEGER);
- PROCEDURE QueryError (): INTEGER;
- PROCEDURE QueryGrafix (): INTEGER;
- PROCEDURE QueryPosn (VAR X, Y: INTEGER);
- PROCEDURE QueryRes (VAR RESX, RESY: INTEGER);
- PROCEDURE QueryX (): INTEGER;
- PROCEDURE QueryY (): INTEGER;
- PROCEDURE RasterOp (RASOP: INTEGER);
- PROCEDURE ReadImage (VAR SRCR: rect; DSTIMAGE: adsImage);
- PROCEDURE ReadMouse (VAR X, Y, SW: INTEGER);
- PROCEDURE ReadPalette (PALNBR, BGNINDX, ENDINDX: INTEGER; VAR COLORS: ARRAY OF palData);
- PROCEDURE ScaleMouse (FACTORX, FACTORY: INTEGER);
- PROCEDURE ScalePt (VAR PT: point; VAR SRCR, DSTR: rect);
- PROCEDURE ScreenRect (VAR SCRNR: rect);
- PROCEDURE ScreenSize (VAR SCRNXMAX, SCRNYMAX: INTEGER);
- PROCEDURE ScrollRect (VAR R: rect; DX, DY: INTEGER);
- PROCEDURE SetBitmap (PAGE: INTEGER);
- PROCEDURE SetBits (X, Y: INTEGER; COLOR: LONGINT; RASOP: INTEGER;
- VAR CLIP_RECT: rect; VAR SRCMAP: bitmap);
- PROCEDURE SetHardCopy (VAR HCI: HCInfoRec);
- PROCEDURE SetDisplay (PAGE: INTEGER);
- PROCEDURE SetFont (FONTBUFFER: adsFont);
- PROCEDURE SetLocal ();
- PROCEDURE SetOrigin (LCLX, LCLY: INTEGER);
- PROCEDURE SetPalette (BACKGROUND: INTEGER; PALETTE: WORD);
- PROCEDURE SetPenState (VAR STATE: penState);
- PROCEDURE SetPixel (X, Y: INTEGER);
- PROCEDURE SetPort (NEWPORT: adsPort);
- PROCEDURE SetPt (VAR PT: point; X, Y: INTEGER);
- PROCEDURE SetRect (VAR R: rect; X1, Y1, X2, Y2: INTEGER);
- PROCEDURE SetVirtual ();
- PROCEDURE ShiftRect (VAR R: rect; DX, DY: INTEGER; VAR R1, R2: rect): INTEGER;
- PROCEDURE ShowCursor ();
- PROCEDURE ShowPen ();
- PROCEDURE StackPtr (): WORD;
- PROCEDURE StackSeg (): WORD;
- PROCEDURE StopEvent ();
- PROCEDURE StopMouse ();
- PROCEDURE StopTimer ();
- PROCEDURE StoreEvent (VAR EVNT: event): BOOLEAN;
- PROCEDURE StringWidth (TEXTSTR: ARRAY OF CHAR): INTEGER;
- PROCEDURE SubPt (VAR SRCPT, DSTPT: point);
- PROCEDURE SystemFont (FONTNBR: INTEGER): INTEGER;
- PROCEDURE TextAlign (HORZ, VERT: INTEGER);
- PROCEDURE TextAngle (ANGLE: INTEGER);
- PROCEDURE TextExtra (SPACE: INTEGER);
- PROCEDURE TextFace (FACE: INTEGER);
- PROCEDURE TextMode (RASOP: INTEGER);
- PROCEDURE TextPath (PATH: INTEGER);
- PROCEDURE TextScore (GAP: INTEGER);
- PROCEDURE TextSize (WIDTHX, HEIGHTY: INTEGER);
- PROCEDURE TextSlant (ANGLE: INTEGER);
- PROCEDURE TextSpace (SPACE: INTEGER);
- PROCEDURE TextUnder (BELOW: INTEGER);
- PROCEDURE TextWidth (TEXTSTR: ARRAY OF CHAR; INDEX, COUNT: INTEGER): INTEGER;
- PROCEDURE TrackCursor (TF: BOOLEAN);
- PROCEDURE UnionRect (VAR RECT1, RECT2, DSTRECT: rect);
- PROCEDURE UserMouse (VAR MOUSESVC: MsProc; VAR MCB: MCBtype);
- PROCEDURE MouseSvc (I1, I2, I3: INTEGER; VAR MCB: MCBtype);
- PROCEDURE UserTimer (VAR TIMERSVC: UsProc; TIMECOUNT: INTEGER; VAR CCB: CCBtype);
- PROCEDURE TimerSvc (VAR CCB: CCBtype);
- PROCEDURE Vir2GblPt (VAR PT: point);
- PROCEDURE Vir2GblRect (VAR R: rect);
- PROCEDURE Vir2LclPt (VAR PT: point);
- PROCEDURE Vir2LclRect (VAR R: rect);
- PROCEDURE VirtualRect (VAR R: rect);
- PROCEDURE WriteImage (VAR DSTR: rect; SRCIMAGE: adsImage);
- PROCEDURE WritePalette (PALNBR, BGNINDX, ENDINDX: INTEGER; VAR COLORS: ARRAY OF palData);
- PROCEDURE XlateImage (SRCIMAGE, DSTIMAGE: adsImage;
- DSTBITS, DSTPLANES: INTEGER; VAR XLTABLE: LONGINT);
- PROCEDURE XYInRect (X, Y: INTEGER; VAR R: rect): INTEGER;
- PROCEDURE ZoomBits (SRCMAP, DSTMAP: adsBMap;
- VAR SRCRECT, DSTRECT, DSTCLIP: rect; RASOP: INTEGER);
- (*# restore *)
- END MW.
|