哈希空间

graphics.h

/* graphics.h Definitions for Graphics Package. Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if __STDC__ #define _Cdecl #else #define _Cdecl cdecl #endif #if !defined(__GRAPHX_DEF_) #define __GRAPHX_DEF_ 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 */ }; /* 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 }; #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; }; void far _Cdecl arc(int x, int y, int stangle, int endangle, int radius); void far _Cdecl bar(int left, int top, int right, int bottom); void far _Cdecl bar3d(int left, int top, int right, int bottom, int depth, int topflag); void far _Cdecl circle(int x, int y, int radius); void far _Cdecl cleardevice(void); void far _Cdecl clearviewport(void); void far _Cdecl closegraph(void); void far _Cdecl detectgraph(int far *graphdriver,int far *graphmode); void far _Cdecl drawpoly(int numpoints, int far *polypoints); void far _Cdecl ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius); void far _Cdecl fillellipse( int x, int y, int xradius, int yradius ); void far _Cdecl fillpoly(int numpoints, int far *polypoints); void far _Cdecl floodfill(int x, int y, int border); void far _Cdecl getarccoords(struct arccoordstype far *arccoords); void far _Cdecl getaspectratio(int far *xasp, int far *yasp); int far _Cdecl getbkcolor(void); int far _Cdecl getcolor(void); struct palettetype * far _Cdecl getdefaultpalette( void ); char * far _Cdecl getdrivername( void ); void far _Cdecl getfillpattern(char far *pattern); void far _Cdecl getfillsettings(struct fillsettingstype far *fillinfo); int far _Cdecl getgraphmode(void); void far _Cdecl getimage(int left, int top, int right, int bottom, void far *bitmap); void far _Cdecl getlinesettings(struct linesettingstype far *lineinfo); int far _Cdecl getmaxcolor(void); int far _Cdecl getmaxmode(void); int far _Cdecl getmaxx(void); int far _Cdecl getmaxy(void); char * far _Cdecl getmodename( int mode_number ); void far _Cdecl getmoderange(int graphdriver, int far *lomode, int far *himode); unsigned far _Cdecl getpixel(int x, int y); void far _Cdecl getpalette(struct palettetype far *palette); int far _Cdecl getpalettesize( void ); void far _Cdecl gettextsettings(struct textsettingstype far *texttypeinfo); void far _Cdecl getviewsettings(struct viewporttype far *viewport); int far _Cdecl getx(void); int far _Cdecl gety(void); void far _Cdecl graphdefaults(void); char * far _Cdecl grapherrormsg(int errorcode); void far _Cdecl _graphfreemem(void far *ptr, unsigned size); void far * far _Cdecl _graphgetmem(unsigned size); int far _Cdecl graphresult(void); unsigned far _Cdecl imagesize(int left, int top, int right, int bottom); void far _Cdecl initgraph(int far *graphdriver, int far *graphmode, char far *pathtodriver); int far _Cdecl installuserdriver( char far *name, int huge (*detect)(void) ); int far _Cdecl installuserfont( char far *name ); void far _Cdecl line(int x1, int y1, int x2, int y2); void far _Cdecl linerel(int dx, int dy); void far _Cdecl lineto(int x, int y); void far _Cdecl moverel(int dx, int dy); void far _Cdecl moveto(int x, int y); void far _Cdecl outtext(char far *textstring); void far _Cdecl outtextxy(int x, int y, char far *textstring); void far _Cdecl pieslice(int x, int y, int stangle, int endangle, int radius); void far _Cdecl putimage(int left, int top, void far *bitmap, int op); void far _Cdecl putpixel(int x, int y, int color); void far _Cdecl rectangle(int left, int top, int right, int bottom); void far _Cdecl restorecrtmode(void); void far _Cdecl sector( int X, int Y, int StAngle, int EndAngle, int XRadius, int YRadius ); void far _Cdecl setactivepage(int page); void far _Cdecl setallpalette(struct palettetype far *palette); void far _Cdecl setaspectratio( int xasp, int yasp ); void far _Cdecl setbkcolor(int color); void far _Cdecl setcolor(int color); void far _Cdecl setfillpattern(char far *upattern, int color); void far _Cdecl setfillstyle(int pattern, int color); unsigned far _Cdecl setgraphbufsize(unsigned bufsize); void far _Cdecl setgraphmode(int mode); void far _Cdecl setlinestyle(int linestyle, unsigned upattern, int thickness); void far _Cdecl setpalette(int colornum, int color); void far _Cdecl setrgbpalette(int colornum, int red, int green, int blue); void far _Cdecl settextjustify(int horiz, int vert); void far _Cdecl settextstyle(int font, int direction, int charsize); void far _Cdecl setusercharsize(int multx, int divx, int multy, int divy); void far _Cdecl setviewport(int left, int top, int right, int bottom, int clip); void far _Cdecl setvisualpage(int page); void far _Cdecl setwritemode( int mode ); int far _Cdecl textheight(char far *textstring); int far _Cdecl textwidth(char far *textstring); /***** graphics drivers *****/ int _Cdecl registerbgidriver(void (*driver)(void)); int far _Cdecl registerfarbgidriver(void far *driver); /* !! These "functions" are NOT user-callable !! */ /* !! They are there just so you can link in graphics drivers !! */ void _Cdecl CGA_driver(void); void _Cdecl EGAVGA_driver(void); void _Cdecl IBM8514_driver(void); void _Cdecl Herc_driver(void); void _Cdecl ATT_driver(void); void _Cdecl PC3270_driver(void); extern int far _Cdecl CGA_driver_far[]; extern int far _Cdecl EGAVGA_driver_far[]; extern int far _Cdecl IBM8514_driver_far[]; extern int far _Cdecl Herc_driver_far[]; extern int far _Cdecl ATT_driver_far[]; extern int far _Cdecl PC3270_driver_far[]; /***** graphics fonts *****/ int _Cdecl registerbgifont(void (*font)(void)); int far _Cdecl registerfarbgifont(void far *font); /* !! These "functions" are NOT user-callable, !! */ /* !! they are there just so you can link in fonts !! */ void _Cdecl triplex_font(void); void _Cdecl small_font(void); void _Cdecl sansserif_font(void); void _Cdecl gothic_font(void); extern int far _Cdecl triplex_font_far[]; extern int far _Cdecl small_font_far[]; extern int far _Cdecl sansserif_font_far[]; extern int far _Cdecl gothic_font_far[]; #endif

本文 最佳观看地址:https://www.hashspace.cn/c-graphics.h.html 阅读 1382

打开 哈希空间 微信小程序中查看更佳