home *** CD-ROM | disk | FTP | other *** search
- /* MCGADEMO.C */
- /* (C) 1989 TOOLBOX */
- /* Das Programm demonstriert die Anwendung */
- /* des MCGA-Headers in Turbo C 2.0 */
-
- #include <conio.h>
- #include <dos.h>
- #include <stdio.h>
- #include "mcga.h"
-
- typedef struct { char r,g,b;} onereg;
- typedef onereg TColorRegBuf[256];
-
- main()
-
- {
- int x,y,color,rot,gruen,blau;
- char c;
- TColorRegBuf regbuf;
- long int i;
-
- initgraphic();
- clearscreen (203);
- for (x = 16;x<161; x++) {
- box (x,x,319-x,199-x,x);
- }
- x = 16; y = 1;
- do {
- x += y;
- if ((x == 16) || (x == 31)) y = -y;
- setcursor (10,12);
- print(" MCGA = 256 Farben ",x);
- delay(20);
- } while (kbhit() == 0);
- c = getch();
-
- color = 1;
- for (y = 0; y < 40; y++) {
- line(0,100,319,y*5,color);
- color++;
- }
- for (y = 0; y < 40; y++) {
- line(0,y*5,319,100,color);
- color++;
- }
-
- delay(2000);
-
- mcgasave("test2.scr");
- clearscreen(255);
- delay(2000);
- mcgaload("test2.scr");
- delay(2000);
-
- colorbox(0,190,319,199,150);
- /* Eine Farbe variieren */
- c = '\0';
- i = 0;
- while ((i < 262144L) && (c == 0)) {
- i++;
- readcolor(150,&rot,&gruen,&blau);
- blau++;
- if (blau > 63) {
- blau = 0;
- gruen++;
- if (gruen > 63) {
- gruen = 0;
- rot++;
- if (rot > 63) {
- rot = 0;
- }
- }
- }
- setcolor(150,rot,gruen,blau);
- if (kbhit() != 0) c = getch();
- }
-
- clearscreen (255);
- for (x=16 ; x < 161 ;x++) {
- box (x,x,319-x,199-x,x);
- }
-
- /* Alle Farben "cyclen" */
- rot = gruen = blau = 0;
- for (color = 0;color<256; color++) {
- regbuf[color].b = blau;
- regbuf[color].g = gruen;
- regbuf[color].r = rot;
- blau+=15;
- if (blau > 63) {
- blau = 0;
- gruen+=16;
- if (gruen > 63) {
- gruen = 0;
- rot+=15;
- if (rot > 63) {
- rot = 0;
- }
- }
- }
- }
-
- setcolorblock (0,regbuf,256);
-
- while (!kbhit()) {
- for (color = 0;color<256; color++) {
- regbuf[color].b+= 15;
- if (regbuf[color].b > 63) {
- regbuf[color].b = 0;
- regbuf[color].g+= 15;
- if (regbuf[color].g > 63) {
- regbuf[color].g = 0;
- regbuf[color].r+= 15;
- if (regbuf[color].r > 63) {
- regbuf[color].r = 0;
- }
- }
- }
- }
- setcolorblock(0,regbuf,256);
- }
-
- exitgraphic();
- }
-
-
-
-
-
-