| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- Listing:
- 1 (* Release 3.10 *)
- 2 (*-------------------------------------------------------------------------*
- 3 * *
- 4 * GRAPHICS.DEF - Modula-2 interface to BGI graphics *
- 5 * *
- 6 * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- 7 * All Rights Reserved *
- 8 * *
- 9 *--------------------------------------------------------------------------*)
- 10
- 11 (*# project("#set cgraph='borland'") *)
- 12 (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on,
- 13 reg_param=>(), reg_saved=>(di,si,ds,st1,st2), near_call=>off) *)
- 14 (*# data(near_ptr=>off) *)
- 15 (*# module(implementation=>off, init_code=>off) *)
- 16 (*# name(prefix=>c) *)
- 17
- 18 DEFINITION MODULE graphics;
- 19
- 20 CONST
- 21 (* Error Codes From graphresult *)
- 22 grOk = 0;
- 23 grNoInitGraph = -1;
- 24 grNotDetected = -2;
- 25 grFileNotFound = -3;
- 26 grInvalidDriver = -4;
- 27 grNoLoadMem = -5;
- 28 grNoScanMem = -6;
- 29 grNoFloodMem = -7;
- 30 grFontNotFound = -8;
- 31 grNoFontMem = -9;
- 32 grInvalidMode = -10;
- 33 grError = -11;
- 34 grIOerror = -12;
- 35 grInvalidFont = -13;
- 36 grInvalidFontNum = -14;
- 37 grInvalidVersion = -18;
- 38
- 39 (* Graphics Drivers *)
- 40 DETECT = 0; (* autodetect *)
- 41 CGA = 1;
- 42 MCGA = 2;
- 43 EGA = 3;
- 44 EGA64 = 4;
- 45 EGAMONO = 5;
- 46 IBM8514 = 6;
- 47 HERCMONO = 7;
- 48 ATT400 = 8;
- 49 VGA = 9;
- 50 PC3270 = 10;
- 51 CURRENT_DRIVER = -1; (* default *)
- 52
- 53 (* Graphics Modes For Each Driver *)
- 54 CGAC0 = 0; (* 320x200 palette 0; 1 page *)
- 55 CGAC1 = 1; (* 320x200 palette 1; 1 page *)
- 56 CGAC2 = 2; (* 320x200 palette 2: 1 page *)
- 57 CGAC3 = 3; (* 320x200 palette 3; 1 page *)
- 58 CGAHI = 4; (* 640x200 1 page *)
- 59 MCGAC0 = 0; (* 320x200 palette 0; 1 page *)
- 60 MCGAC1 = 1; (* 320x200 palette 1; 1 page *)
- 61 MCGAC2 = 2; (* 320x200 palette 2; 1 page *)
- 62 MCGAC3 = 3; (* 320x200 palette 3; 1 page *)
- 63 MCGAMED = 4; (* 640x200 1 page *)
- 64 MCGAHI = 5; (* 640x480 1 page *)
- 65 EGALO = 0; (* 640x200 16 color 4 pages *)
- 66 EGAHI = 1; (* 640x350 16 color 2 pages *)
- 67 EGA64LO = 0; (* 640x200 16 color 1 page *)
- 68 EGA64HI = 1; (* 640x350 4 color 1 page *)
- 69 EGAMONOHI = 0; (* 640x350 64K on card, 1 page - 256K on card, 4 pages *)
- 70 HERCMONOHI = 0; (* 720x348 2 pages *)
- 71 ATT400C0 = 0; (* 320x200 palette 0; 1 page *)
- 72 ATT400C1 = 1; (* 320x200 palette 1; 1 page *)
- 73 ATT400C2 = 2; (* 320x200 palette 2; 1 page *)
- 74 ATT400C3 = 3; (* 320x200 palette 3; 1 page *)
- 75 ATT400MED = 4; (* 640x200 1 page *)
- 76 ATT400HI = 5; (* 640x400 1 page *)
- 77 VGALO = 0; (* 640x200 16 color 4 pages *)
- 78 VGAMED = 1; (* 640x350 16 color 2 pages *)
- 79 VGAHI = 2; (* 640x480 16 color 1 page *)
- 80 PC3270HI = 0; (* 720x350 1 page *)
- 81 IBM8514LO = 0; (* 640x480 256 colors *)
- 82 IBM8514HI = 1; (* 1024x768 256 colors *)
- 83
- 84 CGA_LIGHTGREEN = 1; (* Palette C0 Color Names *)
- 85 CGA_LIGHTRED = 2;
- 86 CGA_YELLOW = 3;
- 87
- 88 CGA_LIGHTCYAN = 1; (* Palette C1 Color Names *)
- 89 CGA_LIGHTMAGENTA = 2;
- 90 CGA_WHITE = 3;
- 91
- 92 CGA_GREEN = 1; (* Palette C2 Color Names *)
- 93 CGA_RED = 2;
- 94 CGA_BROWN = 3;
- 95
- 96 CGA_CYAN = 1; (* Palette C3 Color Names *)
- 97 CGA_MAGENTA = 2;
- 98 CGA_LIGHTGRAY = 3;
- 99
- 100 EGA_BLACK = 0; (* dark colors *)
- 101 EGA_BLUE = 1;
- 102 EGA_GREEN = 2;
- 103 EGA_CYAN = 3;
- 104 EGA_RED = 4;
- 105 EGA_MAGENTA = 5;
- 106 EGA_BROWN = 20;
- 107 EGA_LIGHTGRAY = 7;
- 108 EGA_DARKGRAY = 56; (* light colors *)
- 109 EGA_LIGHTBLUE = 57;
- 110 EGA_LIGHTGREEN = 58;
- 111 EGA_LIGHTCYAN = 59;
- 112 EGA_LIGHTRED = 60;
- 113 EGA_LIGHTMAGENTA = 61;
- 114 EGA_YELLOW = 62;
- 115 EGA_WHITE = 63;
- 116
- 117 (* Line Widths for get/setlinestyle *)
- 118 NORM_WIDTH = 1;
- 119 THICK_WIDTH = 3;
- 120
- 121 HORIZ_DIR = 0; (* left to right *)
- 122 VERT_DIR = 1; (* bottom to top *)
- 123
- 124 USER_CHAR_SIZE = 0; (* user-defined char size *)
- 125
- 126 (* Horizontal and Vertical Justification for settextjustify *)
- 127 LEFT_TEXT = 0;
- 128 CENTER_TEXT = 1;
- 129 RIGHT_TEXT = 2;
- 130
- 131 BOTTOM_TEXT = 0;
- 132 TOP_TEXT = 2;
- 133
- 134 MAXCOLORS = 15;
- 135
- 136 TYPE
- 137
- 138 (* Colors For Setpalette and Setallpalette *)
- 139 COLORS = (BLACK,BLUE,GREEN,CYAN,RED,MAGENTA,BROWN,LIGHTGRAY,(* dark colors *)
- 140 DARKGRAY,LIGHTBLUE,LIGHTGREEN,LIGHTCYAN,LIGHTRED,LIGHTMAGENTA,YELLOW,WHITE); (* light colors *)
- 141
- 142 (* Linestyles for get/setlinestyle *)
- 143 line_styles = (SOLID_LINE,DOTTED_LINE,CENTER_LINE,DASHED_LINE,USERBIT_LINE);
- 144
- 145 font_names = (DEFAULT_FONT, (* 8x8 bit mapped font *)
- 146 TRIPLEX_FONT, (* "Stroked" fonts *)
- 147 SMALL_FONT,
- 148 SANS_SERIF_FONT,
- 149 GOTHIC_FONT);
- 150
- 151 (* Fill Patterns for get/setfillstyle *)
- 152 fill_patterns = (EMPTY_FILL, (* fills area in background color *)
- 153 SOLID_FILL, (* fills area in solid fill color *)
- 154 LINE_FILL, (* --- fill *)
- 155 LTSLASH_FILL, (* /// fill *)
- 156 SLASH_FILL, (* /// fill with thick lines *)
- 157 BKSLASH_FILL, (* \\\ fill with thick lines *)
- 158 LTBKSLASH_FILL, (* \\\ fill *)
- 159 HATCH_FILL, (* light hatch fill *)
- 160 XHATCH_FILL, (* heavy cross hatch fill *)
- 161 INTERLEAVE_FILL, (* interleaving line fill *)
- 162 WIDE_DOT_FILL, (* Widely spaced dot fill *)
- 163 CLOSE_DOT_FILL, (* Closely spaced dot fill *)
- 164 USER_FILL); (* user defined fill *)
- 165
- 166 (* BitBlt Operators For putimage *)
- 167 putimage_ops = (COPY_PUT, (* MOV *)
- 168 XOR_PUT, (* XOR *)
- 169 OR_PUT, (* OR *)
- 170 AND_PUT, (* AND *)
- 171 NOT_PUT); (* NOT *)
- 172
- 173 palettetype_p = POINTER TO palettetype;
- ***** ^ undeclared identifier
- 174 palettetype = RECORD
- 175 size : SHORTCARD;
- 176 colors : ARRAY[0..MAXCOLORS]OF SHORTINT;
- ***** ^ not supported yet
- ***** ^ not supported yet
- 177 END;
- ***** ^ not supported yet
- 178
- 179 linesettingstype = RECORD
- 180 linestyle : INTEGER;
- 181 upattern : CARDINAL;
- 182 thickness : INTEGER;
- 183 END;
- ***** ^ not supported yet
- 184
- 185 textsettingstype = RECORD
- 186 font : INTEGER;
- 187 direction : INTEGER;
- 188 charsize : INTEGER;
- 189 horiz : INTEGER;
- 190 vert : INTEGER;
- 191 END;
- ***** ^ not supported yet
- 192
- 193 fillsettingstype = RECORD
- 194 pattern : INTEGER;
- 195 color : INTEGER;
- 196 END;
- ***** ^ not supported yet
- 197
- 198 pointtype = RECORD
- 199 x : INTEGER;
- 200 y : INTEGER;
- 201 END;
- ***** ^ not supported yet
- 202
- 203 viewporttype = RECORD
- 204 left,top,
- 205 right,bottom,
- 206 clip : INTEGER;
- 207 END;
- ***** ^ not supported yet
- 208
- 209 arccoordstype = RECORD
- 210 x,y,
- 211 xstart,ystart,
- 212 xend,yend : INTEGER;
- 213 END;
- ***** ^ not supported yet
- 214 driverproc = PROCEDURE():INTEGER;
- ***** ^ not supported yet
- ***** ^ not supported yet
- 215
- 216 VAR
- 217 CGA_driver_far : driverproc;
- 218 EGAVGA_driver_far : driverproc;
- 219 IBM8514_driver_far : driverproc;
- 220 Herc_driver_far : driverproc;
- 221 ATT_driver_far : driverproc;
- 222 PC3270_driver_far : driverproc;
- 223
- 224 triplex_font_far : PROC;
- ***** ^ undeclared identifier
- 225 small_font_far : PROC;
- ***** ^ undeclared identifier
- 226 sansserif_font_far : PROC;
- ***** ^ undeclared identifier
- 227 gothic_font_far : PROC;
- ***** ^ undeclared identifier
- 228
- 229
- 230 PROCEDURE arc(x,y,stangle,endandle,radius:INTEGER);
- 231 PROCEDURE bar(left,top,right,bottom:INTEGER);
- 232 PROCEDURE bar3d(left,top,right,bottom,depth,topflag:INTEGER);
- 233 PROCEDURE circle(x,y,radius:INTEGER);
- 234 PROCEDURE cleardevice;
- 235 PROCEDURE clearviewport;
- 236 PROCEDURE closegraph;
- 237 PROCEDURE detectgraph(VAR graphdriver,graphmode:INTEGER);
- 238 PROCEDURE drawpoly(numpoints:INTEGER;VAR polypoints:INTEGER);
- 239 PROCEDURE ellipse(x,y,stangle,endangle,xradius,yradius:INTEGER);
- 240 PROCEDURE fillellipse(x,y,xradius,yradius:INTEGER);
- 241 PROCEDURE fillpoly(numpoints:INTEGER;VAR polypoints:INTEGER);
- 242 PROCEDURE floodfill(x,y,border:INTEGER);
- 243 PROCEDURE getarccoords(VAR arccoords:arccoordstype);
- 244 PROCEDURE getaspectratio(VAR xasp,yasp:INTEGER);
- 245 PROCEDURE getbkcolor():INTEGER;
- 246 PROCEDURE getcolor():INTEGER;
- 247 PROCEDURE getdefaultpalette():palettetype_p;
- 248
- 249 (* **** returns pointer to open array of char *)
- 250 PROCEDURE getdrivername():ADDRESS;
- ***** ^ undeclared identifier
- 251 PROCEDURE getfillpattern(VAR pattern:fill_patterns);
- 252 PROCEDURE getfillsettings(VAR fillinfo:fillsettingstype);
- 253 PROCEDURE getgraphmode():INTEGER;
- 254 PROCEDURE getimage(left,top,right,bottom:INTEGER;bitmap:ADDRESS);
- ***** ^ undeclared identifier
- 255 PROCEDURE getlinesettings(VAR lineinfo:linesettingstype);
- 256 PROCEDURE getmaxcolor():INTEGER;
- 257 PROCEDURE getmaxmode():INTEGER;
- 258 PROCEDURE getmaxx():INTEGER;
- 259 PROCEDURE getmaxy():INTEGER;
- 260
- 261 (* **** returns pointer to open array of char *)
- 262 PROCEDURE getmodename(ModeNumber:INTEGER):ADDRESS;
- ***** ^ undeclared identifier
- 263 PROCEDURE getmoderange(graphdriver:INTEGER;VAR lomode,himode:INTEGER);
- 264 PROCEDURE getpixel(x,y:INTEGER):CARDINAL;
- 265 PROCEDURE getpalette(VAR palette:palettetype);
- 266 PROCEDURE getpalettesize():INTEGER;
- 267 PROCEDURE gettextsettings(VAR texttypeinfo:textsettingstype);
- 268 PROCEDURE getviewsettings(VAR viewport:viewporttype);
- 269 PROCEDURE getx():INTEGER;
- 270 PROCEDURE gety():INTEGER;
- 271 PROCEDURE graphdefaults;
- 272
- 273 (* **** returns pointer to open array of char *)
- 274 PROCEDURE grapherrormsg(errorcode:INTEGER):ADDRESS;
- ***** ^ undeclared identifier
- 275 PROCEDURE _graphfreemem(ptr:ADDRESS; size:CARDINAL);
- ***** ^ undeclared identifier
- 276 PROCEDURE _graphgetmem(size:CARDINAL):ADDRESS;
- ***** ^ undeclared identifier
- 277 PROCEDURE graphresult():INTEGER;
- 278 PROCEDURE imagesize(left,top,right,bottom:INTEGER):CARDINAL;
- 279 PROCEDURE initgraph(VAR graphdriver,graphmode:INTEGER;pathtodriver:ARRAY OF CHAR);
- ***** ^ not supported yet
- 280 PROCEDURE installuserdriver(name:ARRAY OF CHAR;driver:driverproc):INTEGER;
- ***** ^ not supported yet
- 281 PROCEDURE installuserfont(name:ARRAY OF CHAR):INTEGER;
- ***** ^ not supported yet
- 282 PROCEDURE line(x1,y1,x2,y2:INTEGER);
- 283 PROCEDURE linerel(dx,dy:INTEGER);
- 284 PROCEDURE lineto(x,y:INTEGER);
- 285 PROCEDURE moverel(dx,dy:INTEGER);
- 286 PROCEDURE moveto(x,y:INTEGER);
- 287 PROCEDURE outtext(textstring:ARRAY OF CHAR);
- ***** ^ not supported yet
- 288 PROCEDURE outtextxy(x,y:INTEGER;textstring:ARRAY OF CHAR);
- ***** ^ not supported yet
- 289 PROCEDURE pieslice(x,y,stangle,endangle,radius:INTEGER);
- 290 PROCEDURE putimage(left,top:INTEGER;bitmap:ADDRESS;op:putimage_ops);
- ***** ^ undeclared identifier
- 291 PROCEDURE putpixel(x,y,color:INTEGER);
- 292 PROCEDURE rectangle(left,top,right,bottom:INTEGER);
- 293 PROCEDURE restorecrtmode;
- 294 PROCEDURE sector(X,Y,StAngle,EndAngle,XRadius,YRadius:INTEGER);
- 295 PROCEDURE setactivepage(page:INTEGER);
- 296 PROCEDURE setallpalette(VAR palette:palettetype);
- 297 PROCEDURE setaspectratio(xasp,yasp:INTEGER);
- 298 PROCEDURE setbkcolor(color:INTEGER);
- 299 PROCEDURE setcolor(color:INTEGER);
- 300 PROCEDURE setfillpattern(VAR upattern:fill_patterns;color:INTEGER);
- 301 PROCEDURE setfillstyle(pattern, color: COLORS);
- 302 PROCEDURE setgraphbufsize(bufsize:CARDINAL):CARDINAL;
- 303 PROCEDURE setgraphmode(mode:INTEGER);
- 304 PROCEDURE setlinestyle(linestyle: INTEGER; upattern: CARDINAL; thickness: INTEGER);
- 305 PROCEDURE setpalette(colornum,color:INTEGER);
- 306 PROCEDURE setrgbpalette(colornum,red,green,blue:INTEGER);
- 307 PROCEDURE settextjustify(horiz,vert:INTEGER);
- 308 PROCEDURE settextstyle(font,direction,charsize:INTEGER);
- 309 PROCEDURE setusercharsize(mustx,divx,multy,divy:INTEGER);
- 310 PROCEDURE setviewport(left, top, right, bottom, clip:INTEGER);
- 311 PROCEDURE setvisualpage(page:INTEGER);
- 312 PROCEDURE setwritemode(mode:INTEGER);
- 313 PROCEDURE textheight(textstring:ARRAY OF CHAR):INTEGER;
- ***** ^ not supported yet
- 314 PROCEDURE textwidth(textstring:ARRAY OF CHAR):INTEGER;
- ***** ^ not supported yet
- 315
- 316 PROCEDURE registerbgidriver(driver:PROC):INTEGER;
- ***** ^ undeclared identifier
- 317 PROCEDURE registerfarbgidriver(driver:PROC):INTEGER;
- ***** ^ undeclared identifier
- 318
- 319 (* These "functions" are NOT user-callable
- 320 They are there just so you can link in graphics drivers *)
- 321
- 322 PROCEDURE CGA_driver;
- 323 PROCEDURE EGAVGA_driver;
- 324 PROCEDURE IBM8514_driver;
- 325 PROCEDURE Herc_driver;
- 326 PROCEDURE ATT_driver;
- 327 PROCEDURE PC3270_driver;
- 328
- 329 PROCEDURE registerbgifont(font:PROC):INTEGER;
- ***** ^ undeclared identifier
- 330 PROCEDURE registerfarbgifont(font:PROC):INTEGER;
- ***** ^ undeclared identifier
- 331
- 332 (* These "functions" are NOT user-callable,
- 333 they are there just so you can link in fonts *)
- 334
- 335 PROCEDURE triplex_font;
- 336 PROCEDURE small_font;
- 337 PROCEDURE sansserif_font;
- 338 PROCEDURE gothic_font;
- 339
- 340
- 341 END graphics.
- ***** ^ not supported yet
- 35 errors
|