| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- DEFINITION MODULE 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
- *)
- CONST
- GCoord::=INTEGER;
- TYPE
- ErrType=(ErrNoErr,ErrUnknownAdapter,ErrFewerColors,ErrUnknownMode);
- VAR
- _GraphErr:ErrType;
- CLASS GWindow;
- XScale,YScale:GCoord;
- NumColors:INTEGER;
- ok:BOOLEAN;
- XL,YT,XR,YB:GCoord;
- PreviousMode:INTEGER;
- CurrentColor,CurrentBackColor:INTEGER;
- (* There are some private functions which I am keeping private *)
- PROCEDURE Open(x1,y1,x2,y2:GCoord;ColsReq:INTEGER);
- PROCEDURE Close;
- PROCEDURE ReSize(x1,y1,x2,y2:GCoord);
- PROCEDURE SetColor(Col,BkCol:INTEGER);
- PROCEDURE Clear(BkCol:INTEGER);
- PROCEDURE Plot(x,y:GCoord;Col:INTEGER);
- PROCEDURE Point(x,y:GCoord):INTEGER;
- PROCEDURE Fill(x,y:GCoord;bound:INTEGER;Flood:BOOLEAN);
- PROCEDURE Line(x1,y1,x2,y2:GCoord;Col:INTEGER);
- PROCEDURE Rectangle(left,top,width,height:GCoord;fill:INTEGER);
- PROCEDURE Polygon(nsides:INTEGER;px,py:ADDRESS;fill:INTEGER);
- PROCEDURE Ellipse(x,y,major,minor:GCoord;fill:INTEGER);
- PROCEDURE EllipticArc(x,y,major,minor:GCoord;StartAngle,EndAngle:INTEGER);
- PROCEDURE EllipticPie(x,y,major,minor:GCoord;Start,EndAngle,FillQ:INTEGER);
- PROCEDURE Cuboid(X,Y,width,height,depth:GCoord;top,fill:INTEGER);
- PROCEDURE CursorPosition(x,y:GCoord);
- PROCEDURE CharHeight():INTEGER;
- PROCEDURE CharWidth():INTEGER;
- PROCEDURE VectorFromAngle(Ang:INTEGER;VAR X,Y:GCoord);
- PROCEDURE ArcServer(X,Y,Major,Minor:GCoord;StartA,EndA:INTEGER;Pie,FillQ:BOOLEAN);
- PROCEDURE AffixColor(Col,BkCol:INTEGER);
- PROCEDURE XReal(x:GCoord):GCoord;
- PROCEDURE YReal(x:GCoord):GCoord;
- PROCEDURE XPhys(x:GCoord):GCoord;
- PROCEDURE YPhys(x:GCoord):GCoord;
- PROCEDURE Colour(x:INTEGER):INTEGER;
- END GWindow;
- END GWinM2P.
|