|
|
1.1 ! root 1: /*** ! 2: *graph.h - declare constants and functions for graphics library ! 3: * ! 4: * Copyright (c) 1987, Microsoft Corporation. All rights reserved. ! 5: * ! 6: *Purpose: ! 7: * This file declares the graphics library functions and ! 8: * the manifest constants that are used with them. ! 9: * ! 10: *******************************************************************************/ ! 11: ! 12: /* user-visible declarations for Quick-C Graphics Library */ ! 13: ! 14: #ifndef _GRAPH_T_DEFINED ! 15: ! 16: /* structure for _getvideoconfig() as visible to user */ ! 17: struct videoconfig { ! 18: short numxpixels; /* number of pixels on X axis */ ! 19: short numypixels; /* number of pixels on Y axis */ ! 20: short numtextcols; /* number of text columns available */ ! 21: short numtextrows; /* number of text rows available */ ! 22: short numcolors; /* number of actual colors */ ! 23: short bitsperpixel; /* number of bits per pixel */ ! 24: short numvideopages; /* number of available video pages */ ! 25: short mode; /* current video mode */ ! 26: short adapter; /* active display adapter */ ! 27: short monitor; /* active display monitor */ ! 28: short memory; /* adapter video memory in K bytes */ ! 29: }; ! 30: ! 31: /* return value of _setlogorg(), etc. */ ! 32: struct xycoord { ! 33: short xcoord; ! 34: short ycoord; ! 35: }; ! 36: ! 37: /* structure for text position */ ! 38: struct rccoord { ! 39: short row; ! 40: short col; ! 41: }; ! 42: ! 43: #define _GRAPH_T_DEFINED ! 44: ! 45: #endif ! 46: ! 47: ! 48: /* SETUP AND CONFIGURATION */ ! 49: ! 50: short far cdecl _setvideomode(short); ! 51: ! 52: /* arguments to _setvideomode() */ ! 53: #define _DEFAULTMODE -1 /* restore screen to original mode */ ! 54: #define _TEXTBW40 0 /* 40 x 25 text, 16 grey */ ! 55: #define _TEXTC40 1 /* 40 x 25 text, 16/8 color */ ! 56: #define _TEXTBW80 2 /* 80 x 25 text, 16 grey */ ! 57: #define _TEXTC80 3 /* 80 x 25 text, 16/8 color */ ! 58: #define _MRES4COLOR 4 /* 320 x 200, 4 color */ ! 59: #define _MRESNOCOLOR 5 /* 320 x 200, 4 grey */ ! 60: #define _HRESBW 6 /* 640 x 200, BW */ ! 61: #define _TEXTMONO 7 /* 80 x 25 text, BW */ ! 62: #define _MRES16COLOR 13 /* 320 x 200, 16 color */ ! 63: #define _HRES16COLOR 14 /* 640 x 200, 16 color */ ! 64: #define _ERESNOCOLOR 15 /* 640 x 350, BW */ ! 65: #define _ERESCOLOR 16 /* 640 x 350, 4 or 16 color */ ! 66: #define _VRES2COLOR 17 /* 640 x 480, BW */ ! 67: #define _VRES16COLOR 18 /* 640 x 480, 16 color */ ! 68: #define _MRES256COLOR 19 /* 320 x 200, 256 color */ ! 69: ! 70: short far cdecl _setactivepage(short); ! 71: short far cdecl _setvisualpage(short); ! 72: ! 73: /* videoconfig adapter values */ ! 74: /* these manifest constants can be used to test adapter values for */ ! 75: /* a particular adapter using the bitwise-AND operator (&) */ ! 76: #define _MDPA 0x0001 /* Monochrome Display Adapter (MDPA) */ ! 77: #define _CGA 0x0002 /* Color Graphics Adapter (CGA) */ ! 78: #define _EGA 0x0004 /* Enhanced Graphics Adapter (EGA) */ ! 79: #define _MCGA 0x0008 /* MultiColor Graphics Array (MCGA) */ ! 80: #define _VGA 0x0010 /* Video Graphics Array (VGA) */ ! 81: ! 82: /* videoconfig monitor values */ ! 83: /* these manifest constants can be used to test monitor values for */ ! 84: /* a particular monitor using the bitwise-AND operator (&) */ ! 85: #define _MONO 0x0001 /* Monochrome */ ! 86: #define _COLOR 0x0002 /* Color (or Enhanced emulating color) */ ! 87: #define _ENHCOLOR 0x0004 /* Enhanced Color */ ! 88: #define _ANALOG 0x0018 /* Analog */ ! 89: ! 90: struct videoconfig far * far cdecl _getvideoconfig(struct videoconfig far *); ! 91: ! 92: ! 93: /* COORDINATE SYSTEMS */ ! 94: ! 95: struct xycoord far cdecl _setlogorg(short, short); ! 96: struct xycoord far cdecl _getlogcoord(short, short); ! 97: struct xycoord far cdecl _getphyscoord(short, short); ! 98: ! 99: void far cdecl _setcliprgn(short, short, short, short); ! 100: void far cdecl _setviewport(short, short, short, short); ! 101: ! 102: ! 103: /* OUTPUT ROUTINES */ ! 104: ! 105: /* control parameters for Rectangle, Ellipse and Pie */ ! 106: #define _GBORDER 2 /* draw outline only */ ! 107: #define _GFILLINTERIOR 3 /* fill using current fill mask */ ! 108: ! 109: #define _GCLEARSCREEN 0 ! 110: #define _GVIEWPORT 1 ! 111: #define _GWINDOW 2 ! 112: ! 113: void far cdecl _clearscreen(short); ! 114: ! 115: struct xycoord far cdecl _moveto(short, short); ! 116: struct xycoord far cdecl _getcurrentposition(void); ! 117: ! 118: short far cdecl _lineto(short, short); ! 119: short far cdecl _rectangle(short, short, short, short, short); ! 120: short far cdecl _ellipse(short, short, short, short, short); ! 121: short far cdecl _arc(short, short, short, short, short, short, short, short); ! 122: short far cdecl _pie(short, short, short, short, short, short, short, short, short); ! 123: ! 124: short far cdecl _setpixel(short, short); ! 125: short far cdecl _getpixel(short, short); ! 126: short far cdecl _floodfill(short, short, short); ! 127: ! 128: ! 129: /* PEN COLOR, LINE STYLE, FILL PATTERN */ ! 130: ! 131: short far cdecl _setcolor(short); ! 132: short far cdecl _getcolor(void); ! 133: ! 134: void far cdecl _setlinestyle(unsigned short); ! 135: unsigned short far cdecl _getlinestyle(void); ! 136: ! 137: void far cdecl _setfillmask(unsigned char far *); ! 138: unsigned char far * far cdecl _getfillmask(unsigned char far *); ! 139: ! 140: /* COLOR SELECTION */ ! 141: ! 142: long far cdecl _setbkcolor(long); ! 143: long far cdecl _getbkcolor(void); ! 144: ! 145: long far cdecl _remappalette(short, long); ! 146: short far cdecl _remapallpalette(long far *); ! 147: short far cdecl _selectpalette(short); ! 148: ! 149: ! 150: /* TEXT */ ! 151: #define _GCURSOROFF 0 ! 152: #define _GCURSORON 1 ! 153: ! 154: #define _GWRAPOFF 0 ! 155: #define _GWRAPON 1 ! 156: ! 157: void far cdecl _settextwindow(short, short, short, short); ! 158: void far cdecl _outtext(char far *); ! 159: short far cdecl _wrapon(short); ! 160: short far cdecl _displaycursor(short); ! 161: ! 162: struct rccoord far cdecl _settextposition(short, short); ! 163: struct rccoord far cdecl _gettextposition(void); ! 164: ! 165: short far cdecl _settextcolor(short); ! 166: short far cdecl _gettextcolor(void); ! 167: ! 168: ! 169: /* SCREEN IMAGES */ ! 170: ! 171: void far cdecl _getimage(short, short, short, short, char far *); ! 172: void far cdecl _putimage(short, short, char far *, short); ! 173: long far cdecl _imagesize(short, short, short, short); ! 174: ! 175: /* "action verbs" for _putimage() */ ! 176: #define _GPSET 3 ! 177: #define _GPRESET 2 ! 178: #define _GAND 1 ! 179: #define _GOR 0 ! 180: #define _GXOR 4 ! 181: ! 182: /* universal color values: */ ! 183: #define _BLACK 0x000000L ! 184: #define _BLUE 0x2a0000L ! 185: #define _GREEN 0x002a00L ! 186: #define _CYAN 0x2a2a00L ! 187: #define _RED 0x00002aL ! 188: #define _MAGENTA 0x2a002aL ! 189: #define _BROWN 0x00152aL ! 190: #define _WHITE 0x2a2a2aL ! 191: #define _GRAY 0x151515L ! 192: #define _LIGHTBLUE 0x3F1515L ! 193: #define _LIGHTGREEN 0x153f15L ! 194: #define _LIGHTCYAN 0x3f3f15L ! 195: #define _LIGHTRED 0x15153fL ! 196: #define _LIGHTMAGENTA 0x3f153fL ! 197: #define _LIGHTYELLOW 0x153f3fL ! 198: #define _BRIGHTWHITE 0x3f3f3fL ! 199: ! 200: /* mono mode F color values: */ ! 201: #define _MODEFOFF 0L ! 202: #define _MODEFOFFTOON 1L ! 203: #define _MODEFOFFTOHI 2L ! 204: #define _MODEFONTOOFF 3L ! 205: #define _MODEFON 4L ! 206: #define _MODEFONTOHI 5L ! 207: #define _MODEFHITOOFF 6L ! 208: #define _MODEFHITOON 7L ! 209: #define _MODEFHI 8L ! 210: ! 211: /* mono mode 7 color values: */ ! 212: #define _MODE7OFF 0L ! 213: #define _MODE7ON 1L ! 214: #define _MODE7HI 2L
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.