/* ============================================================================== WordUp Graphics Toolkit Version 5.0 Demonstration Program 16 This program shows how to use wcopyscreen. *** PROJECT *** This program requires the file WGT5_WC.LIB to be linked. *** DATA FILES *** NONE WATCOM C++ VERSION ============================================================================== */ #include void main(void) { short x,y, tempx, tempy; short oldmode; block screen1; printf ("WGT Example #16\n\n"); printf ("This program demonstrates virtual screen buffers.\n"); printf ("It will copy data from a virtual screen to the current mouse location\n"); printf ("on the visual screen. Press a key to end the demo at any time.\n"); printf ("\n\nPress any key to continue.\n"); getch (); if ( !vgadetected () ) { printf("Error - VGA card required for any WGT program.\n"); exit (0); } oldmode = wgetmode (); vga256 (); screen1 = wnewblock (0, 0, 319, 199); wsetscreen (screen1); /* sets to screen1 */ for (y = 0; y < 200; y++) { wsetcolor (y); wfline (0, 0, 319, y); /* draw something on another screen */ wfline (319, 199, 0, y); } minit (); moff (); wnormscreen (); /* make the putblock go onto the default screen */ do { tempx = mouse.mx; tempy = mouse.my; wcopyscreen (tempx, tempy, tempx+19, tempy+19, screen1, tempx, tempy, NULL); /* this means copy a square 20*20 from screen1 to the same spot on the default screen. Move the mouse around and watch the black wipe away as screen1 copies over. */ /* NULL means the default screen. */ } while (!kbhit ()); mdeinit (); /* Deinitialize the mouse handler */ getch (); /* wasn't that fun! */ wfreeblock (screen1); wsetmode (oldmode); }