INTERFACE UNIT GWinM2P; (* A simple interface to parts of the graph module. Note that a major aim is to provide a device independant co-ord system. Therefore all windows are from (0,0) Top-Left to (1024,1024) bottom right *) ALIAS GCoord=int16; TYPE ErrType=(ErrNoErr,ErrUnknownAdapter,ErrFewerColors,ErrUnknownMode); VAR _GraphErr:ErrType; CLASS GWindow; XScale,YScale:GCoord; NumColors:INT16; ok:BOOLEAN; XL,YT,XR,YB:GCoord; PreviousMode:INT16; CurrentColor,CurrentBackColor:INT16; (* There are some private functions which I am keeping private *) STATIC PROCEDURE Open(x1,y1,x2,y2:GCoord;cr:INT16); STATIC PROCEDURE Close; STATIC PROCEDURE ReSize(x1,y1,x2,y2:GCoord); STATIC PROCEDURE SetColor(Col,BkCol:INT16); STATIC PROCEDURE Clear(BkCol:INT16); STATIC PROCEDURE Plot(x,y:GCoord;Col:INT16); STATIC FUNCTION Point(x,y:GCoord):INT16; STATIC PROCEDURE Fill(x,y:GCoord;bound:INT16;Flood:BOOLEAN); STATIC PROCEDURE Line(x1,y1,x2,y2:GCoord;Col:INT16); STATIC PROCEDURE Rectangle(left,top,width,height:GCoord;fill:INT16); STATIC PROCEDURE Polygon(nsides:INT16;px,py:ADDRESS;fill:INT16); STATIC PROCEDURE Ellipse(x,y,major,minor:GCoord;fill:INT16); STATIC PROCEDURE EllipticArc(x,y,major,minor:GCoord;StartAngle,EndAngle:INT16); STATIC PROCEDURE EllipticPie(x,y,major,minor:GCoord;Start,EndAngle,Fill:INT16); STATIC PROCEDURE Cuboid(X,Y,widht,height,depth:GCoord;top,fill:INT16); STATIC PROCEDURE CursorPosition(x,y:GCoord); STATIC FUNCTION CharHeight:INT16; STATIC FUNCTION CharWidth:INT16; END; END .