home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / gnu / djgpp / contrib / bcc2grx / tp2bcc / p2c / graph.imp next >
Encoding:
Text File  |  1993-04-07  |  7.8 KB  |  296 lines

  1. {-------------------------------------------------------------------------}
  2. { graph.imp was designed to be read by p2c. It's a direct replacement for }
  3. { the graph unit defined in turbo.imp.                                    }
  4. {-------------------------------------------------------------------------}
  5. { This interface declaration isn't totaly compatible with graph.tpu but   }
  6. { mainly compatible with the BCC graphics.lib. Check the p2c output to    }
  7. { be sure every thing wents right, most times I changed word to integer.  }
  8. {-------------------------------------------------------------------------}
  9.  
  10. unit graph;
  11.  
  12. interface
  13.  
  14. const
  15.   grOk               = 0;
  16.   grNoInitGraph      = -1;
  17.   grNotDetected      = -2;
  18.   grFileNotFound     = -3;
  19.   grInvalidDriver    = -4;
  20.   grNoLoadMem        = -5;
  21.   grNoScanMem        = -6;
  22.   grNoFloodMem       = -7;
  23.   grFontNotFound     = -8;
  24.   grNoFontMem        = -9;
  25.   grInvalidMode      = -10;
  26.   grError            = -11;
  27.   grIOerror          = -13;
  28.   grInvalidFontNum   = -14;
  29.  
  30.   DETECT = 0;
  31.   CGA = 1;
  32.   MCGA = 2;
  33.   EGA = 3;
  34.   EGA64 = 4;
  35.   EGAMONO = 5;
  36.   IBM8514 = 6;
  37.   HERCMONO = 7;
  38.   ATT400 = 8;
  39.   VGA = 9;
  40.   PC3270 = 10;
  41.   CurrentDriver = -128;
  42.  
  43.   CGAC0 = 0;
  44.   CGAC1 = 1;
  45.   CGAC2 = 2;
  46.   CGAC3 = 3;
  47.   CGAHI = 4;
  48.   MCGAC0 = 0;
  49.   MCGAC1 = 1;
  50.   MCGAC2 = 2;
  51.   MCGAC3 = 3;
  52.   MCGAMED = 4;
  53.   MCGAHI = 5;
  54.   EGALO = 0;
  55.   EGAHO = 1;
  56.   EGA64LO = 0;
  57.   EGA64HO = 1;
  58.   EGAMONOHI = 3;
  59.   HERCMONOHI = 0;
  60.   ATT400C0 = 0;
  61.   ATT400C1 = 1;
  62.   ATT400C2 = 2;
  63.   ATT400C3 = 3;
  64.   ATT400MED = 4;
  65.   ATT400HI = 5;
  66.   VGALO = 0;
  67.   VGAMED = 1;
  68.   VGAHI = 2;
  69.   PC3270HI = 0;
  70.   IBM8514LO = 0;
  71.   IBM8514HI = 1;
  72.  
  73.   BLACK = 0;
  74.   BLUE = 1;
  75.   GREEN = 2;
  76.   CYAN = 3;
  77.   RED = 4;
  78.   MAGENTA = 5;
  79.   BROWN = 6;
  80.   LIGHTGRAY = 7;
  81.   DARKGRAY = 8;
  82.   LIGHTBLUE = 9;
  83.   LIGHTGREEN = 10;
  84.   LIGHTCYAN = 11;
  85.   LIGHTRED = 12;
  86.   LIGHTMAGENTA = 13;
  87.   YELLOW = 14;
  88.   WHITE = 15;
  89.  
  90.   EGABLACK = 0;
  91.   EGABLUE = 1;
  92.   EGAGREEN = 2;
  93.   EGACYAN = 3;
  94.   EGARED = 4;
  95.   EGAMAGENTA = 5;
  96.   EGABROWN = 20;
  97.   EGALIGHTGRAY = 7;
  98.   EGADARKGRAY = 56;
  99.   EGALIGHTBLUE = 57;
  100.   EGALIGHTGREEN = 58;
  101.   EGALIGHTCYAN = 59;
  102.   EGALIGHTRED = 60;
  103.   EGALIGHTMAGENTA = 61;
  104.   EGAYELLOW = 62;
  105.   EGAWHITE = 63;
  106.  
  107.   SolidLn = 0;
  108.   DottedLn = 1;
  109.   CenterLn = 2;
  110.   DashedLn = 3;
  111.   UserBitLn = 4;
  112.  
  113.   NormWidth = 1;
  114.   ThickWidth = 3;
  115.  
  116.  
  117. type
  118.   ArcCoordsType = record
  119.             x, y: integer;
  120.             xstart, ystart,
  121.             xend, yend: integer;
  122.           end;
  123.  
  124. const
  125.   MaxColors = 15;
  126. type
  127.   PaletteType = record
  128.           size: byte;
  129.           colors: array[0..MaxColors] of shortint;
  130.         end;
  131.   FillPatternType = array[1..8] of byte;
  132.   FillSettingsType = record
  133.                pattern: integer;
  134.                color: integer;
  135.              end;
  136.   LineSettingsType = record
  137.                linestyle: integer;
  138.                Pattern: word;
  139.                thickness: integer;
  140.              end;
  141.   TextSettingsType = record
  142.                font: integer;
  143.                direction: integer;
  144.                charsize: integer;
  145.                horiz: integer;
  146.                vert: integer;
  147.              end;
  148.   ViewPortType = record
  149.            x1, y1, x2, y2: integer;
  150.            clip: integer;
  151.          end;
  152.  
  153.   PointType    = record
  154.            x, y: integer;
  155.          end;
  156.  
  157.  
  158. const
  159.   DefaultFont=0;
  160.   TriplexFont=1;
  161.   SmallFont=2;
  162.   SansSerifFont=3;
  163.   GothicFont=4;
  164.   ScriptFont=5;
  165.   SimplexFont=6;
  166.   TriplexScrFont=7;
  167.   ComplexFont=8;
  168.   EuropeanFont=9;
  169.   BoldFont=10;
  170.  
  171.   HorizDir=0;
  172.   VertDir=1;
  173.  
  174.   UserCharSize=0;
  175.  
  176. const
  177.   LeftText = 0;
  178.   CenterText = 1;
  179.   RightText = 2;
  180.   BottomText = 0;
  181.   TopText = 2;
  182.  
  183. const
  184.   ClipOn = true;
  185.   ClipOff = false;
  186.   TopOn = true;
  187.   TopOff = false;
  188.  
  189. const
  190.   EmptyFill = 0;
  191.   SolidFill = 1;
  192.   LineFill = 2;
  193.   LtSlashFill = 3;
  194.   SlashFill = 4;
  195.   BkSlashFill = 5;
  196.   LtBkSlashFill = 6;
  197.   HatchFill = 7;
  198.   XHatchFill = 8;
  199.   InterleaveFill = 9;
  200.   WideDotFill = 10;
  201.   CloseDotFill = 11;
  202.   UserFill = 17;
  203.  
  204. const
  205.   NormalPut = 0;
  206.   CopyPut = 0;
  207.   XORPut = 1;
  208.   OrPut = 2;
  209.   AndPut = 3;
  210.   NotPut = 4;
  211.  
  212. procedure arc(X, Y: integer; StAngle, EndAngle, Radius: integer);
  213. procedure bar(x1, y1, x2, y2: integer);
  214. procedure bar3d(x1, y1, x2, y2: integer; Depth: integer; Top: integer);
  215. procedure circle(X, Y: integer; Radius: integer);
  216. procedure cleardevice;
  217. procedure clearviewport;
  218. procedure closegraph;
  219. procedure detectgraph(var GraphDriver, GraphMode: integer);
  220. procedure drawpoly(NumPoints: integer; var PolyPoints);
  221. procedure ellipse(X, Y: integer; StAngle, EndAngle: integer;
  222.           XRadius, YRadius: integer);
  223. procedure fillellipse(X, Y: integer; XRadius, YRadius: integer);
  224. procedure fillpoly(NumPoints: integer; var PolyPoints);
  225. procedure floodfill(x, y: integer; Border: word);
  226. procedure getarccoords(var ArcCoords: ArcCoordsType);
  227. procedure getaspectratio(var Xasp, Yasp: word);
  228. function  getbkcolor: integer;
  229. function  getcolor: integer;
  230. function  GetDefaultPalette(var Palette: PaletteType): PaletteType;
  231. function  GetDriverName: string;
  232. procedure getfillpattern(var FillPattern: FillPatternType);
  233. procedure getfillsettings(var FillInfo: FillSettingsType);
  234. function  getgraphmode: integer;
  235. procedure getimage(x1, y1, x2, y2: integer; var BitMap);
  236. procedure getlinesettings(var LineInfo: LineSettingsType);
  237. function  getmaxcolor: integer;
  238. function  getmaxmode: integer;
  239. function  getmaxx: integer;
  240. function  getmaxy: integer;
  241. function  GetModeName(ModeNumber: integer): string;
  242. procedure getmoderange(GraphDriver: integer; var LoMode, HiMode: integer);
  243. procedure getpalette(var Palette: PaletteType);
  244. function  getpalettesize: integer;
  245. function  getpixel(X,Y: integer): integer;
  246. procedure gettextsettings(var TextInfo: TextSettingsType);
  247. procedure getviewsettings(var ViewPort: ViewPortType);
  248. function  getx: integer;
  249. function  gety: integer;
  250. procedure graphdefaults;
  251. function  GraphErrorMsg(ErrorCode: integer): string;
  252. function  graphresult: integer;
  253. function  imagesize(x1, y1, x2, y2: integer): word;
  254. procedure initgraph(var GraphDriver: integer; var GraphMode: integer;
  255.             PathToDriver: string);
  256. function  InstallUserDriver(Name: string; AutoDetectPtr: pointer): integer;
  257. function  InstallUserFont(FontFileName: string): integer;
  258. procedure line(x1, y1, x2, y2: integer);
  259. procedure linerel(Dx, Dy: integer);
  260. procedure lineto(x, y: integer);
  261. procedure moverel(Dx, Dy: integer);
  262. procedure moveto(x, y: integer);
  263. procedure outtext(TextString: string);
  264. procedure outtextxy(X,Y: integer; TextString: string);
  265. procedure pieslice(x, y: integer; StAngle, EndAngle, Radius: integer);
  266. procedure putimage(x, y: integer; var BitMap; BitBlt: integer);
  267. procedure putpixel(x, y: integer; Pixel: integer);
  268. procedure rectangle(x1, y1, x2, y2: integer);
  269. function  RegisterBGIdriver(driver: pointer): integer;
  270. function  RegisterBGIfont(font: pointer): integer;
  271. procedure restorecrtmode;
  272. procedure sector(x, y: integer; StAngle, EndAngle, XRadius, YRadius: integer);
  273. procedure setactivepage(Page: integer);
  274. procedure setallpalette(var Palette);
  275. procedure setaspectratio(Xasp, Yasp: integer);
  276. procedure setbkcolor(ColorNum: integer);
  277. procedure setcolor(Color: integer);
  278. procedure setfillpattern(Pattern: FillPatternType; Color: integer);
  279. procedure setfillstyle(Pattern: integer; Color: integer);
  280. procedure setgraphbufsize(BufSize: word);
  281. procedure setgraphmode(Mode: integer);
  282. procedure setlinestyle(LineStyle: integer; Pattern: word; Thickness: integer);
  283. procedure setpalette(ColorNum: integer; Color: integer);
  284. procedure setrgbpalette(ColorNum, RedValue, GreenValue, BlueValue: integer);
  285. procedure settextjustify(Horiz, Vert: integer);
  286. procedure settextstyle(Font, Direction, CharSize: integer);
  287. procedure setusercharsize(MultX, DivX, MultY, DivY: integer);
  288. procedure setviewport(x1, y1, x2, y2: integer; Clip: integer);
  289. procedure setvisualpage(Page: integer);
  290. procedure setwritemode(WriteMode: integer);
  291. function  textheight(TextString: string): integer;
  292. function  textwidth(TextString: string): integer;
  293.  
  294.  
  295. end;
  296.