home *** CD-ROM | disk | FTP | other *** search
- /* ╟RAPHICS ─RIVER
- ** ╞ILENAME: GDRIVER.C
- ** ┴UTHOR: ═ARK ╥. ╥INFRET
- ** ─ATE: 12/14/85
- ** ─ESCRIPTION:
- **
- ** ╘HIS PACKAGE SERVES AS A DRIVER TO DEMO THE FEATURES IMPLEMENTED IN THE
- ** GRAFPAK GRAPHICS ROUTINES PACKAGE.
- **
- */
- #INCLUDE <STDIO.H>
- #INCLUDE <STRINGS.H>
- #INCLUDE <MATH.H>
-
- #DEFINE ╥┴─├╧╬ 57.2957795 /* DEGREES TO RADIANS FACTOR */
-
- MAIN()
- █
- REGISTER UNSIGNED BASE;
- REGISTER UNSIGNED I,J;
-
- BASE = 40960; /* BITMAP IN UPPER 8K OF BANK 2 */
- HIGHMEM(32768);
- GINIT(); /* INITIALIZE GRAPHICS PACKAGE */
- GRAPHICS(0,1);
- PUTS("╘HIS IS TEXT MODE - ╥┼╘╒╥╬ TO CONTINUE.\N");
- DELAY();
- TEST1(); /* TEST HI-RES GRAPHICS */
- TEST2(); /* TEST MULTI-COLOR MODE */
- GRAPHICS(0,0);
- PUTS("┬ACK TO TEXT MODE.\N");
- ▌
-
- /* ╘EST HI-RES GRAPHICS */
- TEST1()
- █
- REGISTER UNSIGNED A,B,D,I,X,X1,Y,R;
- REGISTER CHAR C,*P;
- FLOAT R2,X2,INCR;
-
- GRAPHICS(1,1); /* HI-RES W/CLEAR */
-
- SPINTEXT(160,100,"╚I-RES");
-
- GRAPHICS(1,1);
-
- LINE(0,0,319,199,1); /* UPPER LEFT TO LOWER RIGHT */
- LINE(0,199,319,0,1); /* LOWER LEFT TO UPPER RIGHT */
- LINE(0,100,319,100,1); /* HORIZONTAL AXIS */
- LINE(160,0,160,199,1); /* VERTICAL AXIS */
-
- /* ├IRCLES */
-
- CIRCLE(160,100,80,1);
-
- /* ─IAGONAL LINES THROUGH CENTER */
-
- LINE(0,0,319,199,1);
- LINE(319,0,0,199,1);
-
- /* ╚ORIZONTAL ELLIPSE */
- ARC(160,100,100,50,0,360,0,1.0,1);
-
- /* ╓ERTICAL ELLIPSE */
-
- ARC(160,100,50,100,0,360,0,1.0,1);
-
- DELAY();
-
- /* ╨OLYGONS */
-
- GRAPHICS(1,1);
- COLORS(-1,-1,5,-1,-1);
- DRAWTEXT(32,0,"╨OLYGONS USING 'ARC'",0,1);
-
- COLORS(-1,-1,6,-1,-1);
- ARC(48,48,40,40,0,360,0,120.0,1); /* TRIANGLE */
- DRAWTEXT(0,88,"╘RIANGLE",0,1);
-
- COLORS(-1,-1,7,-1,-1); /* YELLOW */
- ARC(240,48,40,40,0,360,0,90.0,1); /* SQUARE */
- DRAWTEXT(200,88,"╙QUARE",0,1);
-
- COLORS(-1,-1,3,-1,-1); /* CYAN */
- ARC(80,144,40,40,0,360,0,60.0,1); /* HEXAGON */
- DRAWTEXT(20,192,"╚EXAGON",0,1);
-
- COLORS(-1,-1,2,-1,-1); /* RED */
- ARC(240,144,40,40,0,360,0,45.0,1); /* OCTAGON */
- DRAWTEXT(200,192,"╧CTAGON",0,1);
-
- DELAY();
- ▌
-
- TEST2()
- █
- REGISTER UNSIGNED PEN,X,Y,XX,YY,S;
-
- GRAPHICS(2,1);
- COLORS(0,1,2,5,6);
-
- SPINTEXT(80,100,"═ULTICOLOR");
-
- GRAPHICS(2,1); /* CLEAR SCREEN */
-
- PEN = 1;
- FOR (S=10;S<=80;S+=10) █ /* BOXES IN BOXES */
- X=80-(S/2);
- Y=100-(S/2);
- LINE(X,Y,X+S,Y,PEN);
- LINE(X+S,Y,X+S,Y+S,PEN);
- LINE(X+S,Y+S,X,Y+S,PEN);
- LINE(X,Y+S,X,Y,PEN);
- IF (++PEN == 4) PEN=1;
- ▌
- CIRCLE(80,100,70,1);
- DELAY();
- ▌
-
- DELAY()
- █
- FOR (;GETCHAR() != '\N';);
- ▌
-
- /* ─RAW TEXT ROTATED ABOUT AN X,Y COORDINATE */
- SPINTEXT(X,Y,S)
- UNSIGNED X,Y; CHAR *S;
- █
- FLOAT ANGLE;
-
- FOR (ANGLE=0.0;ANGLE < 360.0; ANGLE += 45.0)
- DRAWTEXT(X,Y,S,ANGLE,1);
- ▌
-