GWINC2M.DEF 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. DEFINITION MODULE GWinC2M;
  2. (* A simple interface to parts of the graph module.
  3. Note that a major aim is to provide a device independant co-ord system.
  4. Therefore all windows are from (0,0) Top-Left to (1024,1024) bottom right
  5. *)
  6. (*# data(class_hierarchy=>off,cpp_compatible_class=>on) *)
  7. (*# module(implementation=>off,init_code=>off) *)
  8. (*# call(c_conv=>on)*)
  9. CONST
  10. GCoord::=INTEGER;
  11. TYPE
  12. ErrType=(ErrNoErr,ErrUnknownAdapter,ErrFewerColors,ErrUnknownMode);
  13. VAR
  14. _GraphErr:ErrType;
  15. (*# save*)
  16. (*# name(prefix=>c)*)
  17. PROCEDURE cputs(X:ADDRESS);
  18. (*# restore *)
  19. CLASS GWindow;
  20. XScale,YScale:GCoord;
  21. NumColors:INTEGER;
  22. ok:BOOLEAN;
  23. XL,YT,XR,YB:GCoord;
  24. PreviousMode:INTEGER;
  25. CurrentColor,CurrentBackColor:INTEGER;
  26. (* There are some private functions which I am keeping private *)
  27. PROCEDURE ct__@Fssssi(x1,y1,x2,y2:GCoord;cr:INTEGER);
  28. PROCEDURE dt__;
  29. PROCEDURE ReSize(x1,y1,x2,y2:GCoord);
  30. PROCEDURE SetColor(Col,BkCol:INTEGER);
  31. PROCEDURE Clear(BkCol:INTEGER);
  32. PROCEDURE Plot(x,y:GCoord;Col:INTEGER);
  33. PROCEDURE Point(x,y:GCoord):INTEGER;
  34. PROCEDURE Fill(x,y:GCoord;bound:INTEGER;Flood:BOOLEAN);
  35. PROCEDURE Line(x1,y1,x2,y2:GCoord;Col:INTEGER);
  36. PROCEDURE Rectangle(left,top,width,height:GCoord;fill:INTEGER);
  37. PROCEDURE Polygon(nsides:INTEGER;px,py:ADDRESS;fill:INTEGER);
  38. PROCEDURE Ellipse(x,y,major,minor:GCoord;fill:INTEGER);
  39. PROCEDURE EllipticArc(x,y,major,minor:GCoord;StartAngle,EndAngle:INTEGER);
  40. PROCEDURE EllipticPie(x,y,major,minor:GCoord;Start,EndAngle,Fill:INTEGER);
  41. PROCEDURE Cuboid(X,Y,widht,height,depth:GCoord;top,fill:INTEGER);
  42. PROCEDURE CursorPosition(x,y:GCoord);
  43. PROCEDURE CharHeight():INTEGER;
  44. PROCEDURE CharWidth():INTEGER;
  45. END GWindow;
  46. END GWinC2M.