home *** CD-ROM | disk | FTP | other *** search
- /* graphics.h
-
- Definitions for Graphics Package.
-
- */
-
- /*
- * C/C++ Run Time Library - Version 6.5
- *
- * Copyright (c) 1987, 1994 by Borland International
- * All Rights Reserved.
- *
- */
-
- #if !defined(__GRAPHICS_H)
- #define __GRAPHICS_H
-
- #if defined( _Windows ) && !defined (__DPMI16__) && !defined(__DPMI32__)
- #error BGI graphics not supported under Windows
- #endif
-
- #if defined(__STDC__)
- #error BGI graphics not ANSI compatible
- #endif
-
- #if !defined(___DEFS_H)
- #include <_defs.h>
- #endif
-
- #if !defined(_BGIENTRY)
- #if defined(__DPMI16__)
- #define _BGIENTRY __pascal
- #elif defined(__DPMI32__)
- #define _BGIENTRY _RTLENTRY __import
- #else
- #define _BGIENTRY _RTLENTRY
- #endif
- #endif
-
- #if defined(__DPMI32__)
- #define far
- #define huge
- #endif
-
- enum graphics_errors { /* graphresult error return codes */
- grOk = 0,
- grNoInitGraph = -1,
- grNotDetected = -2,
- grFileNotFound = -3,
- grInvalidDriver = -4,
- grNoLoadMem = -5,
- grNoScanMem = -6,
- grNoFloodMem = -7,
- grFontNotFound = -8,
- grNoFontMem = -9,
- grInvalidMode = -10,
- grError = -11, /* generic error */
- grIOerror = -12,
- grInvalidFont = -13,
- grInvalidFontNum = -14,
- grInvalidVersion = -18
- };
-
- enum graphics_drivers { /* define graphics drivers */
- DETECT, /* requests autodetection */
- CGA, MCGA, EGA, EGA64, EGAMONO, IBM8514, /* 1 - 6 */
- HERCMONO, ATT400, VGA, PC3270, /* 7 - 10 */
- CURRENT_DRIVER = -1
- };
-
- enum graphics_modes { /* graphics modes for each driver */
- CGAC0 = 0, /* 320x200 palette 0; 1 page */
- CGAC1 = 1, /* 320x200 palette 1; 1 page */
- CGAC2 = 2, /* 320x200 palette 2: 1 page */
- CGAC3 = 3, /* 320x200 palette 3; 1 page */
- CGAHI = 4, /* 640x200 1 page */
- MCGAC0 = 0, /* 320x200 palette 0; 1 page */
- MCGAC1 = 1, /* 320x200 palette 1; 1 page */
- MCGAC2 = 2, /* 320x200 palette 2; 1 page */
- MCGAC3 = 3, /* 320x200 palette 3; 1 page */
- MCGAMED = 4, /* 640x200 1 page */
- MCGAHI = 5, /* 640x480 1 page */
- EGALO = 0, /* 640x200 16 color 4 pages */
- EGAHI = 1, /* 640x350 16 color 2 pages */
- EGA64LO = 0, /* 640x200 16 color 1 page */
- EGA64HI = 1, /* 640x350 4 color 1 page */
- EGAMONOHI = 0, /* 640x350 64K on card, 1 page - 256K on card, 4 pages */
- HERCMONOHI = 0, /* 720x348 2 pages */
- ATT400C0 = 0, /* 320x200 palette 0; 1 page */
- ATT400C1 = 1, /* 320x200 palette 1; 1 page */
- ATT400C2 = 2, /* 320x200 palette 2; 1 page */
- ATT400C3 = 3, /* 320x200 palette 3; 1 page */
- ATT400MED = 4, /* 640x200 1 page */
- ATT400HI = 5, /* 640x400 1 page */
- VGALO = 0, /* 640x200 16 color 4 pages */
- VGAMED = 1, /* 640x350 16 color 2 pages */
- VGAHI = 2, /* 640x480 16 color 1 page */
- PC3270HI = 0, /* 720x350 1 page */
- IBM8514LO = 0, /* 640x480 256 colors */
- IBM8514HI = 1 /*1024x768 256 colors */
- };
-
-
- #if defined(__DPMI32__)
- /* graphicx.h
-
- Extended Definitions for Graphics Package.
-
- */
-
-
- enum Xgraphics_drivers { /* define extended graphics drivers */
- DETECTX = 256,
- VGA256 = 11,
- ATTDEB = 12,
- TOSHIBA = 13,
-
- SVGA16 = 14,
- SVGA256 = 15,
- SVGA32K = 16,
- SVGA64K = 17,
-
- VESA16 = 18,
- VESA256 = 19,
- VESA32K = 20,
- VESA64K = 21,
- VESA16M = 22,
-
- ATI16 = 23,
- ATI256 = 24,
- ATI32K = 25,
- COMPAQ = 26,
- TSENG316 = 27,
- TSENG3256 = 28,
- TSENG416 = 29,
- TSENG4256 = 30,
- TSENG432K = 31,
- GENOA5 = 32,
- GENOA6 = 33,
- OAK = 34,
- PARADIS16 = 35,
- PARADIS256 = 36,
- TECMAR = 37,
- TRIDENT16 = 38,
- TRIDENT256 = 39,
- VIDEO7 = 40,
- VIDEO7II = 41,
-
- S3 = 42,
- ATIGUP = 43
-
- };
-
- enum Xgraphics_modes { /* graphics modes for each driver */
- RES640x350 = 0,
- RES640x480 = 1,
- RES800x600 = 2,
- RES1024x768 = 3,
- RES1280x1024 = 4,
- };
-
-
- #endif /* !__DPMI32__ */
-
-
- /* Colors for setpalette and setallpalette */
-
- #if !defined(__COLORS)
- #define __COLORS
-
- enum COLORS {
- BLACK, /* dark colors */
- BLUE,
- GREEN,
- CYAN,
- RED,
- MAGENTA,
- BROWN,
- LIGHTGRAY,
- DARKGRAY, /* light colors */
- LIGHTBLUE,
- LIGHTGREEN,
- LIGHTCYAN,
- LIGHTRED,
- LIGHTMAGENTA,
- YELLOW,
- WHITE
- };
- #endif
-
- enum CGA_COLORS {
- CGA_LIGHTGREEN = 1, /* Palette C0 Color Names */
- CGA_LIGHTRED = 2,
- CGA_YELLOW = 3,
-
- CGA_LIGHTCYAN = 1, /* Palette C1 Color Names */
- CGA_LIGHTMAGENTA = 2,
- CGA_WHITE = 3,
-
- CGA_GREEN = 1, /* Palette C2 Color Names */
- CGA_RED = 2,
- CGA_BROWN = 3,
-
- CGA_CYAN = 1, /* Palette C3 Color Names */
- CGA_MAGENTA = 2,
- CGA_LIGHTGRAY = 3
- };
-
-
- enum EGA_COLORS {
- EGA_BLACK = 0, /* dark colors */
- EGA_BLUE = 1,
- EGA_GREEN = 2,
- EGA_CYAN = 3,
- EGA_RED = 4,
- EGA_MAGENTA = 5,
- EGA_BROWN = 20,
- EGA_LIGHTGRAY = 7,
- EGA_DARKGRAY = 56, /* light colors */
- EGA_LIGHTBLUE = 57,
- EGA_LIGHTGREEN = 58,
- EGA_LIGHTCYAN = 59,
- EGA_LIGHTRED = 60,
- EGA_LIGHTMAGENTA = 61,
- EGA_YELLOW = 62,
- EGA_WHITE = 63
- };
-
- enum line_styles { /* Line styles for get/setlinestyle */
- SOLID_LINE = 0,
- DOTTED_LINE = 1,
- CENTER_LINE = 2,
- DASHED_LINE = 3,
- USERBIT_LINE = 4, /* User defined line style */
- };
-
- enum line_widths { /* Line widths for get/setlinestyle */
- NORM_WIDTH = 1,
- THICK_WIDTH = 3,
- };
-
- enum font_names {
- DEFAULT_FONT = 0, /* 8x8 bit mapped font */
- TRIPLEX_FONT = 1, /* "Stroked" fonts */
- SMALL_FONT = 2,
- SANS_SERIF_FONT = 3,
- GOTHIC_FONT = 4,
- SCRIPT_FONT = 5,
- SIMPLEX_FONT = 6,
- TRIPLEX_SCR_FONT = 7,
- COMPLEX_FONT = 8,
- EUROPEAN_FONT = 9,
- BOLD_FONT = 10
- };
-
- #define HORIZ_DIR 0 /* left to right */
- #define VERT_DIR 1 /* bottom to top */
-
- #define USER_CHAR_SIZE 0 /* user-defined char size */
-
- enum fill_patterns { /* Fill patterns for get/setfillstyle */
- EMPTY_FILL, /* fills area in background color */
- SOLID_FILL, /* fills area in solid fill color */
- LINE_FILL, /* --- fill */
- LTSLASH_FILL, /* /// fill */
- SLASH_FILL, /* /// fill with thick lines */
- BKSLASH_FILL, /* \\\ fill with thick lines */
- LTBKSLASH_FILL, /* \\\ fill */
- HATCH_FILL, /* light hatch fill */
- XHATCH_FILL, /* heavy cross hatch fill */
- INTERLEAVE_FILL, /* interleaving line fill */
- WIDE_DOT_FILL, /* Widely spaced dot fill */
- CLOSE_DOT_FILL, /* Closely spaced dot fill */
- USER_FILL /* user defined fill */
- };
-
- enum putimage_ops { /* BitBlt operators for putimage */
- COPY_PUT, /* MOV */
- XOR_PUT, /* XOR */
- OR_PUT, /* OR */
- AND_PUT, /* AND */
- NOT_PUT /* NOT */
- };
-
- enum text_just { /* Horizontal and vertical justification
- for settextjustify */
- LEFT_TEXT = 0,
- CENTER_TEXT = 1,
- RIGHT_TEXT = 2,
-
- BOTTOM_TEXT = 0,
- /* CENTER_TEXT = 1, already defined above */
- TOP_TEXT = 2
- };
-
-
- #define MAXCOLORS 15
-
- struct palettetype {
- unsigned char size;
- signed char colors[MAXCOLORS+1];
- };
-
- struct linesettingstype {
- int linestyle;
- unsigned upattern;
- int thickness;
- };
-
- struct textsettingstype {
- int font;
- int direction;
- int charsize;
- int horiz;
- int vert;
- };
-
- struct fillsettingstype {
- int pattern;
- int color;
- };
-
- struct pointtype {
- int x, y;
- };
-
- struct viewporttype {
- int left, top, right, bottom;
- int clip;
- };
-
- struct arccoordstype {
- int x, y;
- int xstart, ystart, xend, yend;
- };
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if defined(__DPMI16__)
- void _bgilink (void);
- #pragma extref _bgilink
- #endif
-
- void far _BGIENTRY arc(int __x, int __y, int __stangle, int __endangle,
- int __radius);
- void far _BGIENTRY bar(int __left, int __top, int __right, int __bottom);
- void far _BGIENTRY bar3d(int __left, int __top, int __right, int __bottom,
- int __depth, int __topflag);
- void far _BGIENTRY circle(int __x, int __y, int __radius);
- void far _BGIENTRY cleardevice(void);
- void far _BGIENTRY clearviewport(void);
- void far _BGIENTRY closegraph(void);
- void far _BGIENTRY detectgraph(int far *__graphdriver,int far *__graphmode);
- void far _BGIENTRY drawpoly(int __numpoints, const int far *__polypoints);
- void far _BGIENTRY ellipse(int __x, int __y, int __stangle, int __endangle,
- int __xradius, int __yradius);
- void far _BGIENTRY fillellipse( int __x, int __y, int __xradius, int __yradius );
- void far _BGIENTRY fillpoly(int __numpoints, const int far *__polypoints);
- void far _BGIENTRY floodfill(int __x, int __y, int __border);
- void far _BGIENTRY getarccoords(struct arccoordstype far *__arccoords);
- void far _BGIENTRY getaspectratio(int far *__xasp, int far *__yasp);
- int far _BGIENTRY getbkcolor(void);
- int far _BGIENTRY getcolor(void);
- struct palettetype far * far _BGIENTRY getdefaultpalette( void );
- char * far _BGIENTRY getdrivername( void );
- void far _BGIENTRY getfillpattern(char far *__pattern);
- void far _BGIENTRY getfillsettings(struct fillsettingstype far *__fillinfo);
- int far _BGIENTRY getgraphmode(void);
- void far _BGIENTRY getimage(int __left, int __top, int __right, int __bottom,
- void far *__bitmap);
- void far _BGIENTRY getlinesettings(struct linesettingstype far *__lineinfo);
- int far _BGIENTRY getmaxcolor(void);
- int far _BGIENTRY getmaxmode(void);
- int far _BGIENTRY getmaxx(void);
- int far _BGIENTRY getmaxy(void);
- char * far _BGIENTRY getmodename( int __mode_number );
- void far _BGIENTRY getmoderange(int __graphdriver, int far *__lomode,
- int far *__himode);
- unsigned far _BGIENTRY getpixel(int __x, int __y);
- void far _BGIENTRY getpalette(struct palettetype far *__palette);
- int far _BGIENTRY getpalettesize( void );
- void far _BGIENTRY gettextsettings(struct textsettingstype far *__texttypeinfo);
- void far _BGIENTRY getviewsettings(struct viewporttype far *__viewport);
- int far _BGIENTRY getx(void);
- int far _BGIENTRY gety(void);
- void far _BGIENTRY graphdefaults(void);
- char * far _BGIENTRY grapherrormsg(int __errorcode);
- void far _BGIENTRY _graphfreemem(void far *__ptr, unsigned __size);
- void far * far _BGIENTRY _graphgetmem(unsigned __size);
- int far _BGIENTRY graphresult(void);
- unsigned far _BGIENTRY imagesize(int __left, int __top, int __right, int __bottom);
- void far _BGIENTRY initgraph(int far *__graphdriver,
- int far *__graphmode,
- const char far *__pathtodriver);
- int far _BGIENTRY installuserdriver(const char far *__name,
- int huge (*detect)(void));
- int far _BGIENTRY installuserfont(const char far *__name);
- void far _BGIENTRY line(int __x1, int __y1, int __x2, int __y2);
- void far _BGIENTRY linerel(int __dx, int __dy);
- void far _BGIENTRY lineto(int __x, int __y);
- void far _BGIENTRY moverel(int __dx, int __dy);
- void far _BGIENTRY moveto(int __x, int __y);
- void far _BGIENTRY outtext(const char far *__textstring);
- void far _BGIENTRY outtextxy(int __x, int __y, const char far *__textstring);
- void far _BGIENTRY pieslice(int __x, int __y, int __stangle, int __endangle,
- int __radius);
- void far _BGIENTRY putimage(int __left, int __top, const void far *__bitmap,
- int __op);
- void far _BGIENTRY putpixel(int __x, int __y, int __color);
- void far _BGIENTRY rectangle(int __left, int __top, int __right, int __bottom);
- void far _BGIENTRY restorecrtmode(void);
- void far _BGIENTRY sector(int __X, int __Y, int __StAngle, int __EndAngle,
- int __XRadius, int __YRadius);
- void far _BGIENTRY setactivepage(int __page);
- void far _BGIENTRY setallpalette(const struct palettetype far *__palette);
- void far _BGIENTRY setaspectratio(int __xasp, int __yasp);
- void far _BGIENTRY setbkcolor(int __color);
- void far _BGIENTRY setcolor(int __color);
- void far _BGIENTRY setfillpattern(const char far *__upattern, int __color);
- void far _BGIENTRY setfillstyle(int __pattern, int __color);
- unsigned far _BGIENTRY setgraphbufsize(unsigned __bufsize);
- void far _BGIENTRY setgraphmode(int __mode);
- void far _BGIENTRY setlinestyle(int __linestyle, unsigned __upattern,
- int __thickness);
- void far _BGIENTRY setpalette(int __colornum, int __color);
- void far _BGIENTRY setrgbpalette(int __colornum,
- int __red, int __green, int __blue);
- void far _BGIENTRY settextjustify(int __horiz, int __vert);
- void far _BGIENTRY settextstyle(int __font, int __direction, int __charsize);
- void far _BGIENTRY setusercharsize(int __multx, int __divx,
- int __multy, int __divy);
- void far _BGIENTRY setviewport(int __left, int __top, int __right, int __bottom,
- int __clip);
- void far _BGIENTRY setvisualpage(int __page);
- void far _BGIENTRY setwritemode( int __mode );
- int far _BGIENTRY textheight(const char far *__textstring);
- int far _BGIENTRY textwidth(const char far *__textstring);
-
- /***** graphics drivers *****/
-
- int _BGIENTRY registerbgidriver(void (*driver)(void));
-
- #if defined(__DPMI16__) || defined(__DPMI32__)
- #define registerfarbgidriver registerbgidriver
- #else
- int far _BGIENTRY registerfarbgidriver(void far *__driver);
- #endif
-
- /* !! These "functions" are NOT user-callable !! */
- /* !! They are there just so you can link in graphics drivers !! */
-
- void _RTLENTRY CGA_driver(void);
- void _RTLENTRY EGAVGA_driver(void);
- void _RTLENTRY IBM8514_driver(void);
- void _RTLENTRY Herc_driver(void);
- void _RTLENTRY ATT_driver(void);
- void _RTLENTRY PC3270_driver(void);
-
- #if defined(__DPMI16__)
- void _RTLENTRY CGA_driver_far(void);
- void _RTLENTRY EGAVGA_driver_far(void);
- void _RTLENTRY IBM8514_driver_far(void);
- void _RTLENTRY Herc_driver_far(void);
- void _RTLENTRY ATT_driver_far(void);
- void _RTLENTRY PC3270_driver_far(void);
- #else
- extern int far _RTLENTRY CGA_driver_far[];
- extern int far _RTLENTRY EGAVGA_driver_far[];
- extern int far _RTLENTRY IBM8514_driver_far[];
- extern int far _RTLENTRY Herc_driver_far[];
- extern int far _RTLENTRY ATT_driver_far[];
- extern int far _RTLENTRY PC3270_driver_far[];
- #endif
-
- /***** graphics fonts *****/
-
- int _BGIENTRY registerbgifont(void (*font)(void));
-
- #if defined(__DPMI16__) || defined(__DPMI32__)
- #define registerfarbgifont registerbgifont
- #else
- int far _BGIENTRY registerfarbgifont(void far *__font);
- #endif
-
- /* !! These "functions" are NOT user-callable, !! */
- /* !! they are there just so you can link in fonts !! */
-
- void _RTLENTRY triplex_font(void);
- void _RTLENTRY small_font(void);
- void _RTLENTRY sansserif_font(void);
- void _RTLENTRY gothic_font(void);
-
- extern int far _RTLENTRY triplex_font_far[];
- extern int far _RTLENTRY small_font_far[];
- extern int far _RTLENTRY sansserif_font_far[];
- extern int far _RTLENTRY gothic_font_far[];
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-