DEFINITION MODULE GWinC2M; (* 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 *) (*# data(class_hierarchy=>off,cpp_compatible_class=>on) *) (*# module(implementation=>off,init_code=>off) *) (*# call(c_conv=>on)*) CONST GCoord::=INTEGER; TYPE ErrType=(ErrNoErr,ErrUnknownAdapter,ErrFewerColors,ErrUnknownMode); VAR _GraphErr:ErrType; (*# save*) (*# name(prefix=>c)*) PROCEDURE cputs(X:ADDRESS); (*# restore *) 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 ct__@Fssssi(x1,y1,x2,y2:GCoord;cr:INTEGER); PROCEDURE dt__; 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,Fill:INTEGER); PROCEDURE Cuboid(X,Y,widht,height,depth:GCoord;top,fill:INTEGER); PROCEDURE CursorPosition(x,y:GCoord); PROCEDURE CharHeight():INTEGER; PROCEDURE CharWidth():INTEGER; END GWindow; END GWinC2M.