home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / pascal / spx10.zip / SPX_INT.ZIP / SPX_VGA.INT < prev   
Text File  |  1993-05-04  |  4KB  |  111 lines

  1. Unit SPX_VGA;
  2.  
  3. { SPX Library Version 1.0  Copyright 1993 Scott D. Ramsay }
  4.  
  5. Interface
  6.  
  7. Uses Dos,SPX_FNC;
  8.  
  9. const
  10.   MaxPages   = 8;                  { maximum allowed for allocated pages }
  11.   WinMinX    : integer = 0;        { Clip borders }
  12.   WinMinY    : integer = 0;
  13.   WinMaxX    : integer = 319;
  14.   WinMaxY    : integer = 199;
  15.   NormalPut  = 0;                  { Constants for fput_mask }
  16.   CopyPut    = 0;
  17.   XORPut     = 1;
  18.   OrPut      = 2;
  19.   AndPut     = 3;
  20.  
  21. type
  22.   RGBType    = record
  23.                  red,green,blue : byte;
  24.                end;
  25.   RGBlist    = array[0..255] of RGBType;
  26.   PtrRec     = record
  27.                  ofs,seg : word;
  28.                end;
  29.   VidHdrType = record
  30.                  position,count : word;
  31.                end;
  32.   cpu_type   = (c8086,c80186,c80286,c80286p,
  33.                 c80386,c80386p,c80486,c80486p,undefined);
  34.  
  35.  
  36. var
  37.   PrevMode,                                      { previous mode }
  38.   crpg          : byte;                          { current page number }
  39.   cpu           : cpu_type;                      { current cpu }
  40.   scnseg,scnofs : word;                          { current page address }
  41.   pages         : array[1..MaxPages] of pointer; { page pointers }
  42.   thdmat        : set of byte;                   { mask set for MATTEVSP }
  43.   vspcnt,                                        { vsp last load count }
  44.   maxpage       : word;                          { pages used }
  45.   zdc           : RGBlist;                       { all black palette }
  46.   YOff          : array[0..199] of word;         { Row offset table }
  47.  
  48. procedure MatteVsp(var from,too);
  49. procedure VSinc;
  50. procedure SetDefaultColors;
  51. procedure Switch(var a,b:integer);
  52. procedure Parse(var x,y:integer);
  53. function BuffSize(x,y:integer):word;
  54. function ImageSize(var image):word;
  55. procedure ImageDims(var image;var x,y:integer);
  56. procedure SetPtr(var i:PtrRec;var buff);
  57. function pt(x,y:integer):word;
  58. procedure OpenMode(npages:byte);
  59. function Point(x,y:integer;pg:byte):byte;
  60. procedure Pset(x,y:integer;n:byte);
  61. procedure fPcopy(var from,too);
  62. procedure Pcopy(from,too:byte);
  63. procedure CopyRect(x1,y1,x2,y2:integer;var from,too);
  64. procedure fwCopyRect(x1,y1,x2,y2:integer;var from,too);
  65. procedure SwapRect(x1,y1,x2,y2:integer;from,too:byte);
  66. procedure Line_clip(x1,y1,x2,y2:integer;n:byte);
  67. procedure Line(x1,y1,x2,y2:integer;n:byte);
  68. procedure Bar(x1,y1,x2,y2:integer;n:byte);
  69. procedure Rectangle(x1,y1,x2,y2:integer;n:byte);
  70. procedure Circle(x1,y1,r:integer;n:byte);
  71. procedure Ellipse(xc,yc,a0,b0:integer;c:byte);
  72. procedure ftput(x,y:integer;var buff;center:boolean);
  73. procedure ftput_clip(x,y:integer;var buff;center:boolean);
  74. procedure cls(b:byte);
  75. procedure CloseMode;
  76. procedure fget(x1,y1,x2,y2:integer;var image);
  77. procedure fput(x1,y1:integer;var image;center:boolean);
  78. procedure fput_mask(x1,y1:integer;var image;rmw:byte);
  79. procedure fput_clip(x,y:integer;var buff;center:boolean);
  80. procedure SetPageActive(page:byte);
  81. procedure GetColor(num:byte;var red,green,blue:byte);
  82. procedure SetColor(num,red,green,blue:byte);
  83. procedure fSetColors(var colors);
  84. procedure fGetColors(var colors);
  85. procedure FadeIn(steps:word;var color);
  86. procedure FadeOut(steps:word;var color);
  87. procedure ColorsChange(var color:rgblist;filter:rgbtype);
  88. procedure ColorCycle(var colors:rgblist;start:byte;count:integer;fwd:boolean);
  89. function LoadColors(filename:string;var colors;count:integer):integer;
  90. function SaveColors(filename:string;var colors;count:integer):integer;
  91. procedure Paint(x,y:integer;n:byte);
  92. procedure CopyTo(x1,y1,x2,y2,x,y:integer;var from,too);
  93. function LoadVSP(fn:string;var buff):integer;
  94. function FileVSP(var fil:file;var buff;size:longint):integer;
  95. procedure ScaleVSP(var src,dest;nx,ny:word);
  96. function AnalyzeScreen:byte;
  97. procedure MemWrite(var source,dest;size:word;var off:longint);
  98. procedure MemRead(var source,dest;size:word;var off:longint);
  99. procedure fwput(x1,y1:integer;var image);
  100. procedure moveDW(var source,dest;size:word);
  101. procedure fputDW(x:word;var buff);
  102. procedure PcopyDW(var from,too);
  103. procedure fillDW(var dest;c:word;v:byte);
  104. procedure clsDW(c:byte);
  105. procedure displayer(x,y:integer;var pic,virt;plv:byte);
  106. procedure eraselayer(x,y:integer;bkpage:byte;var pic,virt;plv:byte);
  107. procedure dispvirt(x,y:integer;var pic,virt;plv:byte);
  108. procedure erasevirt(x,y:integer;var pic,virt;plv:byte);
  109. procedure copyvirt(x,y:integer;var pic,v1,v2;plv:byte);
  110.  
  111.