| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- (* Release 3.10 *)
- (*-------------------------------------------------------------------------*
- * *
- * CGRAPH.DEF - Modula-2 interface to GRAPH.H *
- * *
- * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
- * All Rights Reserved *
- * *
- *--------------------------------------------------------------------------*)
- (*# project("#set tsc='on'") *)
- (*# project("#set cgraph='jpi'") *)
- (*# call(o_a_size=>off, o_a_copy=>off, c_conv=>on, result_optional=>on,
- near_call=>off, ds_eq_ss=>off) *)
- (*# data(near_ptr=>off) *)
- (*# module(implementation=>off, init_code=>off) *)
- (*# name(prefix=>c) *)
- DEFINITION MODULE cgraph;
- (* Filling functions take a combination of two colors
- encoded as Color1 + NumColor * Color2 *)
- (* Device independant routines
- provided as procedure variables
- (see below) *)
- TYPE
- videoconfig_p = POINTER TO videoconfig;
- videoconfig = RECORD
- numxpixels : CARDINAL; (* number of pixels on X axis *)
- numypixels : CARDINAL; (* number of pixels on Y axis *)
- numtextcols: CARDINAL; (* number of text columns available *)
- numtextrows: CARDINAL; (* number of text rows available *)
- numcolors : CARDINAL; (* number of actual colors *)
- bitsperpixel:CARDINAL; (* number of bits per pixel *)
- numvideopages:CARDINAL; (* number of available video pages *)
- mode : CARDINAL; (* current video mode *)
- adapter : CARDINAL; (* active display adapter *)
- monitor : CARDINAL; (* active display monitor *)
- memory : CARDINAL; (* adapter video memory in K bytes *)
- END;
- xycoord = RECORD
- xcoord : CARDINAL;
- ycoord : CARDINAL;
- END;
- rccoord = RECORD
- row : CARDINAL;
- col : CARDINAL;
- END;
- CONST
- _DEFAULTMODE = -1; (* restore screen to original mode *)
- _TEXTBW40 = 0; (* 40 x 25 text, 16 grey *)
- _TEXTC40 = 1; (* 40 x 25 text, 16/8 color *)
- _TEXTBW80 = 2; (* 80 x 25 text, 16 grey *)
- _TEXTC80 = 3; (* 80 x 25 text, 16/8 color *)
- _MRES4COLOR = 4; (* 320 x 200, 4 color *)
- _MRESNOCOLOR = 5; (* 320 x 200, 4 grey *)
- _HRESBW = 6; (* 640 x 200, BW *)
- _TEXTMONO = 7; (* 80 x 25 text, BW *)
- _HERCMONO = 8; (* 720 x 348, BW for HGC *)
- _MRES16COLOR = 13; (* 320 x 200, 16 color *)
- _HRES16COLOR = 14; (* 640 x 200, 16 color *)
- _ERESNOCOLOR = 15; (* 640 x 350, BW *)
- _ERESCOLOR = 16; (* 640 x 350, 4 or 16 color *)
- _VRES2COLOR = 17; (* 640 x 480, BW *)
- _VRES16COLOR = 18; (* 640 x 480, 16 color *)
- _MRES256COLOR = 19; (* 320 x 200, 256 color *)
- _MDPA = 0001H; (* Monochrome Display Adapter (MDPA) *)
- _CGA = 0002H; (* Color Graphics Adapter (CGA) *)
- _EGA = 0004H; (* Enhanced Graphics Adapter (EGA) *)
- _VGA = 0008H; (* Video Graphics Array (VGA) *)
- _MCGA = 0010H; (* MultiColor Graphics Array (MCGA) *)
- _HGC = 0020H; (* Hercules Graphics Card (HGC) *)
- _MONO = 0001H; (* Monochrome *)
- _COLOR = 0002H; (* Color (or Enhanced emulating color) *)
- _ENHCOLOR = 0004H; (* Enhanced Color *)
- _ANALOG = 0018H; (* Analog *)
- _GBORDER = 2; (* draw outline only *)
- _GFILLINTERIOR = 3; (* fill using current fill mask *)
- _GTOP = 1;
- _GNOTOP = 0;
- _GCLEARSCREEN = 0;
- _GVIEWPORT = 1;
- _GWINDOW = 2;
- _GCURSOROFF = 0;
- _GCURSORON = 1;
- _GWRAPOFF = 0;
- _GWRAPON = 1;
- _GPSET = 3;
- _GPRESET = 2;
- _GAND = 1;
- _GOR = 0;
- _GXOR = 4;
- _BLACK = 000000H;
- _BLUE = 2A0000H;
- _GREEN = 002A00H;
- _CYAN = 2A2A00H;
- _RED = 00002AH;
- _MAGENTA = 2A002AH;
- _BROWN = 00152AH;
- _WHITE = 2A2A2AH;
- _GRAY = 151515H;
- _LIGHTBLUE = 3F1515H;
- _LIGHTGREEN = 153F15H;
- _LIGHTCYAN = 3F3F15H;
- _LIGHTRED = 15153FH;
- _LIGHTMAGENTA = 3F153FH;
- _LIGHTYELLOW = 153F3FH;
- _BRIGHTWHITE = 3F3F3FH;
- _MODEFOFF = LONGCARD(0);
- _MODEFOFFTOON = LONGCARD(1);
- _MODEFOFFTOHI = LONGCARD(2);
- _MODEFONTOOFF = LONGCARD(3);
- _MODEFON = LONGCARD(4);
- _MODEFONTOHI = LONGCARD(5);
- _MODEFHITOOFF = LONGCARD(6);
- _MODEFHITOON = LONGCARD(7);
- _MODEFHI = LONGCARD(8);
- _MODE7OFF = LONGCARD(0);
- _MODE7ON = LONGCARD(1);
- _MODE7HI = LONGCARD(2);
- PROCEDURE _setvideomode(mode:CARDINAL):INTEGER;
- PROCEDURE _setactivepage(page:CARDINAL):INTEGER;
- PROCEDURE _setvisualpage(page:CARDINAL):INTEGER;
- PROCEDURE _getvideoconfig(VAR v:videoconfig):videoconfig_p;
- PROCEDURE _setlogorg(x,y:CARDINAL):xycoord;
- PROCEDURE _getlogcoord(x,y:CARDINAL):xycoord;
- PROCEDURE _getphyscoord(x,y:CARDINAL):xycoord;
- PROCEDURE _setcliprgn(x1,y1,x2,y2:CARDINAL);
- PROCEDURE _setviewport(x1,y1,x2,y2:CARDINAL);
- PROCEDURE _clearscreen(area:CARDINAL);
- PROCEDURE _moveto(x,y:CARDINAL):xycoord;
- PROCEDURE _getcurrentposition():xycoord;
- PROCEDURE _lineto(x,y:CARDINAL):INTEGER;
- PROCEDURE _rectangle(fill,x1,y1,x2,y2:CARDINAL):INTEGER;
- PROCEDURE _ellipse(fill,x1,y1,x2,y2:CARDINAL):INTEGER;
- PROCEDURE _arc(x1,y1,x2,y2,x3,y3,x4,y4:CARDINAL):INTEGER;
- PROCEDURE _pie(fill,x1,y1,x2,y2,x3,y3,x4,y4:CARDINAL):INTEGER;
- PROCEDURE _cube(fill,top,x1,y1,x2,y2,depth:CARDINAL):INTEGER;
- PROCEDURE _polygon(fill,n:CARDINAL;px,py:ARRAY OF CARDINAL):INTEGER;
- PROCEDURE _setpixel(x,y:CARDINAL):INTEGER;
- PROCEDURE _getpixel(x,y:CARDINAL):INTEGER;
- PROCEDURE _floodfill(x,y,boundary:CARDINAL):INTEGER;
- PROCEDURE _stackfill(x,y,boundary:CARDINAL):INTEGER;
- PROCEDURE _setcolor(col:CARDINAL):INTEGER;
- PROCEDURE _getcolor():INTEGER;
- PROCEDURE _setlinestyle(mask:CARDINAL);
- PROCEDURE _getlinestyle():CARDINAL;
- PROCEDURE _setfillmask(VAR MaskArray:SHORTCARD):CARDINAL;
- PROCEDURE _getfillmask(VAR MaskArray:SHORTCARD):ADDRESS;
- PROCEDURE _setbkcolor(col:LONGCARD):LONGCARD;
- PROCEDURE _getbkcolor():LONGCARD;
- PROCEDURE _remappalette(pixel:CARDINAL;col:LONGCARD):LONGINT;
- PROCEDURE _remapallpalette(ColorArray:ARRAY OF LONGCARD):LONGINT;
- PROCEDURE _selectpalette(num:CARDINAL):INTEGER;
- PROCEDURE _settextwindow(x1,y1,x2,y2:CARDINAL);
- PROCEDURE _outtext(str:ARRAY OF CHAR);
- PROCEDURE _wrapon(flag:CARDINAL):CARDINAL;
- PROCEDURE _displaycursor(flag:CARDINAL):CARDINAL;
- PROCEDURE _settextposition(row,col:CARDINAL):rccoord;
- PROCEDURE _gettextposition():rccoord;
- PROCEDURE _settextcolor(col:CARDINAL):CARDINAL;
- PROCEDURE _gettextcolor():CARDINAL;
- PROCEDURE _getimage(x1,y1,x2,y2:CARDINAL;VAR buffer:ARRAY OF BYTE);
- PROCEDURE _putimage(x,y:CARDINAL;buffer:ARRAY OF BYTE;action:CARDINAL);
- PROCEDURE _imagesize(x1,y1,x2,y2:CARDINAL):LONGCARD;
- PROCEDURE _enable_herc();
- END cgraph.
|