home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / ML_3DROT.ZIP / SOURCES / XMODE.PAS < prev    next >
Pascal/Delphi Source File  |  1996-03-06  |  4KB  |  101 lines

  1. unit XMode;
  2. {
  3.   X-Modes (256 colors multipage) library v1.1
  4.   -----------------------------------------------------------------------
  5.  
  6.    New features added in v1.1 (some of them based on routines by Themie Gouthas)
  7.    ─────────────────────────────────────────────────────────────────────────────
  8.    ■ xvplot    - virtual plot, with clipping the unnecessarry points
  9.    ■ xline     - fast line drawing routine
  10.    ■ xcircle   - fast circle drawing routine
  11.    ■ xdisc     - fast disc (filled circle) drawing routine
  12.    ■ xfillrect - filled rectangle
  13.    ■ xpattrect - pattern-filled rectangle
  14.   --------------------------------------------------------------------------
  15.  
  16.   Original C++ shit by Kaos of Black Magic - thanks.
  17.   Adapted version for Pascal, enhancements and new routines by Maple Leaf
  18. }
  19. interface
  20.  
  21. { Drawing routines }
  22. Procedure XFillRect(StartX, StartY, EndX, EndY:Integer; color, vpage:word);
  23. Procedure XPattRect(StartX, StartY, EndX, EndY:Integer; pattern:pointer; vpage:word);
  24. Procedure XCircle(x, y, radius:integer; color:word; vpage:word);
  25. Procedure XDisc(x, y, radius:integer; color:word; vpage:word);
  26. Procedure XLine(x1,y1,x2,y2:integer; color:word; vpage:word);
  27. Procedure XPlot(x,y:integer; Color:Byte; VPage:Word);
  28. Procedure XVPlot(x,y:integer; Color:Byte; VPage:Word);
  29. Function  XGet(x,y, VPage:integer):Byte;
  30. { Init/done }
  31. Procedure XInitVideo(Mode:Word);
  32. Procedure XTextMode(mode:Byte);
  33. { Clear }
  34. Procedure XClrVRam;
  35. Procedure XClrVPage(VPage:Word);
  36. { Pages, windows }
  37. Procedure XSetVPage(VPage:Word);
  38. Procedure XResize(x,y:Word);
  39. Procedure XPanScr(x,y:Word);
  40. Procedure XSplit(n:Word);
  41. Procedure MoveWin(Buffer1, Buffer2:pointer; VPage:Word);
  42. Procedure XScreenOff;
  43. Procedure XScreenOn;
  44. { Bitmaps }
  45. Procedure XImagePut(BitMap:Pointer; x,y,VPage:Word);
  46. Procedure XImageOrPut(BitMap:Pointer; x,y,VPage:Word);
  47. Procedure XImageAdd(BitMap:Pointer; x,y,VPage:Word);
  48. Procedure XImageOvr(BitMap:Pointer; x,y,VPage:Word);
  49. { Others }
  50. Function  XLinePutCY(Ptr:Pointer; ya,x,y,VPage:Word):Word;
  51. Procedure XBlock(x1,y1,count,y2:word; Color:Byte; VPage:Word);
  52. { Syncronization }
  53. Procedure XVWait;
  54. Procedure XHWait;
  55. { Borders }
  56. Procedure XSetBorder(Color:Byte);
  57. Procedure XSetBorder2(red,green,blue:byte);
  58. { Palette }
  59. Procedure XSetPalette(PalPtr:Pointer);
  60. Procedure XGetPalette(FirstReg, NumRegs:Word; Palette:Pointer);
  61. Procedure XSetRGB(color,red,green,blue:byte);
  62.  
  63. implementation
  64.  
  65. {$L xmode.obj}
  66.  
  67. Procedure XFillRect;           external;
  68. Procedure XPattRect;           external;
  69. Procedure XCircle;             external;
  70. Procedure XDisc;               external;
  71. Procedure XLine;               external;
  72. Procedure XInitVideo;          external;
  73. Procedure XClrVRam;            external;
  74. Procedure XClrVPage;           external;
  75. Procedure XSetVPage;           external;
  76. Procedure XPlot;               external;
  77. Procedure XVPlot;              external;
  78. Function  XGet;                external;
  79. Procedure XImagePut;           external;
  80. Procedure XImageOrPut;         external;
  81. Procedure XImageAdd;           external;
  82. Procedure XImageOvr;           external;
  83. Procedure XResize;             external;
  84. Procedure XPanScr;             external;
  85. Procedure XSplit;              external;
  86. Function  XLinePutCY;          external;
  87. Procedure XBlock;              external;
  88. Procedure XVWait;              external;
  89. Procedure XHWait;              external;
  90. Procedure XSetBorder;          external;
  91. Procedure XSetBorder2;         external;
  92. Procedure XScreenOff;          external;
  93. Procedure XScreenOn;           external;
  94. Procedure XSetPalette;         external;
  95. Procedure XGetPalette;         external;
  96. Procedure XSetRGB;             external;
  97. Procedure XTextMode;           external;
  98. Procedure MoveWin;             external;
  99.  
  100. begin
  101. end.