home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / TSC.ZIP / GRAPH.TDL < prev    next >
Encoding:
Text File  |  1987-11-05  |  6.9 KB  |  266 lines

  1. {*GRAPH.TDL of TSC - Copyright 1986-88 by Supratech Inc.}
  2. {** A special format file for providing GRAPH unit definitions to the
  3.     TSC program. It is needed if GRAPH unit will be used.
  4. **}
  5.  
  6. UNIT GRAPH;
  7. INTERFACE
  8. CONST
  9.   GROK               =   0;
  10.   GRNOINITGRAPH      =  -1;
  11.   GRNOTDETECTED      =  -2;
  12.   GRFILENOTFOUND     =  -3;
  13.   GRINVALIDDRIVER    =  -4;
  14.   GRNOLOADMEM        =  -5;
  15.   GRNOSCANMEM        =  -6;
  16.   GRNOFLOODMEM       =  -7;
  17.   GRFONTNOTFOUND     =  -8;
  18.   GRNOFONTMEM        =  -9;
  19.   GRINVALIDMODE      = -10;
  20.   GRERROR            = -11;
  21.   GRIOERROR          = -12;
  22.   GRINVALIDFONT      = -13;
  23.   GRINVALIDFONTNUM   = -14;
  24.   GRINVALIDDEVICENUM = -15;
  25.  
  26.   DETECT   = 0;
  27.   CGA      = 1;
  28.   MCGA     = 2;
  29.   EGA      = 3;
  30.   EGA64    = 4;
  31.   EGAMONO  = 5;
  32.   RESERVED = 6;
  33.   HERCMONO = 7;
  34.   ATT400   = 8;
  35.   VGA      = 9;
  36.   PC3270   = 10;
  37.  
  38.   CGAC0      = 0;
  39.   CGAC1      = 1;
  40.   CGAC2      = 2;
  41.   CGAC3      = 3;
  42.   CGAHI      = 4;
  43.   MCGAC0     = 0;
  44.   MCGAC1     = 1;
  45.   MCGAC2     = 2;
  46.   MCGAC3     = 3;
  47.   MCGAMED    = 4;
  48.   MCGAHI     = 5;
  49.   EGALO      = 0;
  50.   EGAHI      = 1;
  51.   EGA64LO    = 0;
  52.   EGA64HI    = 1;
  53.   EGAMONOHI  = 3;
  54.   HERCMONOHI = 0;
  55.   ATT400C0   = 0;
  56.   ATT400C1   = 1;
  57.   ATT400C2   = 2;
  58.   ATT400C3   = 3;
  59.   ATT400MED  = 4;
  60.   ATT400HI   = 5;
  61.   VGALO      = 0;
  62.   VGAMED     = 1;
  63.   VGAHI      = 2;
  64.   PC3270HI   = 0;
  65.  
  66.   BLACK        = 0;
  67.   BLUE         = 1;
  68.   GREEN        = 2;
  69.   CYAN         = 3;
  70.   RED          = 4;
  71.   MAGENTA      = 5;
  72.   BROWN        = 6;
  73.   LIGHTGRAY    = 7;
  74.   DARKGRAY     = 8;
  75.   LIGHTBLUE    = 9;
  76.   LIGHTGREEN   = 10;
  77.   LIGHTCYAN    = 11;
  78.   LIGHTRED     = 12;
  79.   LIGHTMAGENTA = 13;
  80.   YELLOW       = 14;
  81.   WHITE        = 15;
  82.  
  83.   SOLIDLN    = 0;
  84.   DOTTEDLN   = 1;
  85.   CENTERLN   = 2;
  86.   DASHEDLN   = 3;
  87.   USERBITLN  = 4;
  88.   NORMWIDTH  = 1;
  89.   THICKWIDTH = 3;
  90.  
  91.   DEFAULTFONT   = 0;
  92.   TRIPLEXFONT   = 1;
  93.   SMALLFONT     = 2;
  94.   SANSSERIFFONT = 3;
  95.   GOTHICFONT    = 4;
  96.   HORIZDIR   = 0;
  97.   VERTDIR    = 1;
  98.   USERCHARSIZE = 0;
  99.  
  100.   CLIPON  = TRUE;
  101.   CLIPOFF = FALSE;
  102.  
  103.   TOPON  = TRUE;
  104.   TOPOFF = FALSE;
  105.  
  106.   EMPTYFILL       = 0;
  107.   SOLIDFILL       = 1;
  108.   LINEFILL        = 2;
  109.   LTSLASHFILL     = 3;
  110.   SLASHFILL       = 4;
  111.   BKSLASHFILL     = 5;
  112.   LTBKSLASHFILL   = 6;
  113.   HATCHFILL       = 7;
  114.   XHATCHFILL      = 8;
  115.   INTERLEAVEFILL  = 9;
  116.   WIDEDOTFILL     = 10;
  117.   CLOSEDOTFILL    = 11;
  118.   USERFILL        = 12;
  119.  
  120.   NORMALPUT     = 0;
  121.   XORPUT        = 1;
  122.   ORPUT         = 2;
  123.   ANDPUT        = 3;
  124.   NOTPUT        = 4;
  125.  
  126.   LEFTTEXT   = 0;
  127.   CENTERTEXT = 1;
  128.   RIGHTTEXT  = 2;
  129.   BOTTOMTEXT = 0;
  130.  
  131.   TOPTEXT    = 2;
  132.  
  133. CONST
  134.   MAXCOLORS = 15;
  135.  
  136. TYPE
  137.   PALETTETYPE = RECORD
  138.       SIZE   : BYTE;
  139.       COLORS : ARRAY[0..MAXCOLORS] OF SHORTINT;
  140.     END;
  141.   LINESETTINGSTYPE = RECORD
  142.       LINESTYLE : WORD;
  143.       PATTERN   : WORD;
  144.       THICKNESS : WORD;
  145.     END;
  146.   TEXTSETTINGSTYPE = RECORD
  147.       FONT      : WORD;
  148.       DIRECTION : WORD;
  149.       CHARSIZE  : WORD;
  150.       HORIZ     : WORD;
  151.       VERT      : WORD;
  152.     END;
  153.   FILLSETTINGSTYPE = RECORD
  154.       PATTERN : WORD;
  155.       COLOR   : WORD;
  156.     END;
  157.   FILLPATTERNTYPE = ARRAY[1..8] OF BYTE;
  158.   POINTTYPE = RECORD
  159.       X, Y : INTEGER;
  160.     END;
  161.   VIEWPORTTYPE = RECORD
  162.       X1, Y1, X2, Y2 : INTEGER;
  163.       CLIP           : BOOLEAN;
  164.     END;
  165.   ARCCOORDSTYPE = RECORD
  166.       X, Y           : INTEGER;
  167.       XSTART, YSTART : INTEGER;
  168.       XEND, YEND     : INTEGER;
  169.     END;
  170.  
  171. VAR
  172.   GRAPHGETMEMPTR  : POINTER;
  173.   GRAPHFREEMEMPTR : POINTER;
  174.  
  175. FUNCTION GRAPHERRORMSG(ERRORCODE : INTEGER) : STRING;
  176. FUNCTION GRAPHRESULT : INTEGER;
  177.  
  178.  
  179. PROCEDURE DETECTGRAPH(VAR GRAPHDRIVER, GRAPHMODE : INTEGER);
  180. PROCEDURE INITGRAPH(VAR GRAPHDRIVER : INTEGER;
  181.                     VAR GRAPHMODE   : INTEGER;
  182.                         PATHTODRIVER : STRING);
  183. FUNCTION REGISTERBGIFONT(FONT : POINTER) : INTEGER;
  184. FUNCTION REGISTERBGIDRIVER(DRIVER : POINTER) : INTEGER;
  185. PROCEDURE SETGRAPHBUFSIZE(BUFSIZE : WORD);
  186. PROCEDURE GETMODERANGE(GRAPHDRIVER : INTEGER; VAR LOMODE, HIMODE : INTEGER);
  187. PROCEDURE SETGRAPHMODE(MODE : INTEGER);
  188. FUNCTION GETGRAPHMODE : INTEGER;
  189. PROCEDURE GRAPHDEFAULTS;
  190. PROCEDURE RESTORECRTMODE;
  191. PROCEDURE CLOSEGRAPH;
  192. FUNCTION  GETX : INTEGER;
  193. FUNCTION  GETY : INTEGER;
  194. FUNCTION  GETMAXX : INTEGER;
  195. FUNCTION  GETMAXY : INTEGER;
  196.  
  197. PROCEDURE CLEARDEVICE;
  198. PROCEDURE SETVIEWPORT(X1, Y1, X2, Y2 : INTEGER; CLIP : BOOLEAN);
  199. PROCEDURE GETVIEWSETTINGS(VAR VIEWPORT : VIEWPORTTYPE);
  200. PROCEDURE CLEARVIEWPORT;
  201. PROCEDURE SETVISUALPAGE(PAGE : WORD);
  202. PROCEDURE SETACTIVEPAGE(PAGE : WORD);
  203.  
  204. PROCEDURE PUTPIXEL(X, Y : INTEGER; PIXEL : WORD);
  205. FUNCTION  GETPIXEL(X, Y : INTEGER) : WORD;
  206.  
  207. PROCEDURE LINETO(X, Y : INTEGER);
  208. PROCEDURE LINEREL(DX, DY : INTEGER);
  209. PROCEDURE MOVETO(X, Y : INTEGER);
  210. PROCEDURE MOVEREL(DX, DY : INTEGER);
  211. PROCEDURE LINE(X1, Y1, X2, Y2 : INTEGER);
  212. PROCEDURE GETLINESETTINGS(VAR LINEINFO : LINESETTINGSTYPE);
  213. PROCEDURE SETLINESTYLE(LINESTYLE : WORD;
  214.                        PATTERN   : WORD;
  215.                        THICKNESS : WORD);
  216.  
  217. PROCEDURE RECTANGLE(X1, Y1, X2, Y2 : INTEGER);
  218. PROCEDURE BAR(X1, Y1, X2, Y2 : INTEGER);
  219. PROCEDURE BAR3D(X1, Y1, X2, Y2 : INTEGER; DEPTH : WORD; TOP : BOOLEAN);
  220. PROCEDURE DRAWPOLY(NUMPOINTS : WORD; VAR POLYPOINTS);
  221. PROCEDURE FILLPOLY(NUMPOINTS : WORD; VAR POLYPOINTS);
  222. PROCEDURE GETFILLSETTINGS(VAR FILLINFO : FILLSETTINGSTYPE);
  223. PROCEDURE GETFILLPATTERN(VAR FILLPATTERN : FILLPATTERNTYPE);
  224. PROCEDURE SETFILLSTYLE(PATTERN : WORD; COLOR : WORD);
  225. PROCEDURE SETFILLPATTERN(PATTERN : FILLPATTERNTYPE; COLOR : WORD);
  226. PROCEDURE FLOODFILL(X, Y : INTEGER; BORDER : WORD);
  227.  
  228. PROCEDURE ARC(X, Y : INTEGER; STANGLE, ENDANGLE, RADIUS : WORD);
  229. PROCEDURE GETARCCOORDS(VAR ARCCOORDS : ARCCOORDSTYPE);
  230. PROCEDURE CIRCLE(X, Y : INTEGER; RADIUS : WORD);
  231. PROCEDURE ELLIPSE(X, Y : INTEGER;
  232.                   STANGLE, ENDANGLE : WORD;
  233.                   XRADIUS, YRADIUS  : WORD);
  234. PROCEDURE GETASPECTRATIO(VAR XASP, YASP : WORD);
  235. PROCEDURE PIESLICE(X, Y : INTEGER; STANGLE, ENDANGLE, RADIUS : WORD);
  236.  
  237. PROCEDURE SETBKCOLOR(COLOR : WORD);
  238. PROCEDURE SETCOLOR(COLOR : WORD);
  239. FUNCTION GETBKCOLOR : WORD;
  240. FUNCTION GETCOLOR : WORD;
  241. PROCEDURE SETALLPALETTE(VAR PALETTE);
  242. PROCEDURE SETPALETTE(COLORNUM : WORD; COLOR : SHORTINT);
  243. PROCEDURE GETPALETTE(VAR PALETTE : PALETTETYPE);
  244. FUNCTION GETMAXCOLOR : WORD;
  245.  
  246. FUNCTION  IMAGESIZE(X1, Y1, X2, Y2 : INTEGER) : WORD;
  247. PROCEDURE GETIMAGE(X1, Y1, X2, Y2 : INTEGER; VAR BITMAP);
  248. PROCEDURE PUTIMAGE(X, Y : INTEGER; VAR BITMAP; BITBLT : WORD);
  249.  
  250. PROCEDURE GETTEXTSETTINGS(VAR TEXTINFO : TEXTSETTINGSTYPE);
  251. PROCEDURE OUTTEXT(TEXTSTRING : STRING);
  252. PROCEDURE OUTTEXTXY(X, Y : INTEGER; TEXTSTRING : STRING);
  253. PROCEDURE SETTEXTJUSTIFY(HORIZ, VERT : WORD);
  254. PROCEDURE SETTEXTSTYLE(FONT, DIRECTION : WORD; CHARSIZE : WORD);
  255. PROCEDURE SETUSERCHARSIZE(MULTX, DIVX, MULTY, DIVY : WORD);
  256. FUNCTION  TEXTHEIGHT(TEXTSTRING : STRING) : WORD;
  257. FUNCTION  TEXTWIDTH(TEXTSTRING : STRING) : WORD;
  258.  
  259. IMPLEMENTATION
  260. END.
  261.  
  262.  
  263. ENDLIB    {must be the last legal symbol read}
  264.  
  265. {*----- end of GRAPH.TDL -----}
  266.