|
|
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.