home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / c / other / graphics / page.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-11-02  |  1.3 KB  |  56 lines

  1. /* PAGE.C illustrates video page functions including:
  2.  *      _getactivepage  _getvisualpage  _setactivepage  _setvisualpage
  3.  */
  4.  
  5. #include <conio.h>
  6. #include <graph.h>
  7. #include <time.h>
  8.  
  9. void delay( clock_t wait );         /* Prototype */
  10. char *jumper[] = { { "\\o/\n O \n/ \\" },
  11.                    { "_o_\n O \n( )"   },
  12.                    { " o \n/O\\\n/ \\" },
  13.                    { " o \n O \n( )"   }
  14.                  };
  15. main()
  16. {
  17.     int i, oldvpage, oldapage, oldcursor;
  18.  
  19.     _clearscreen( _GCLEARSCREEN );
  20.     oldcursor = _displaycursor( _GCURSOROFF );
  21.     oldapage  = _getactivepage();
  22.     oldvpage  = _getvisualpage();
  23.  
  24.     /* Draw image on each page */
  25.     for( i = 0; i < 4; i++ )
  26.     {
  27.         _setactivepage( i );
  28.         _settextposition( 1, 1 );
  29.         _outtext( jumper[i] );
  30.     }
  31.  
  32.     while( !kbhit() )
  33.         /* Cycle through pages 0 to 3 */
  34.         for( i = 0; i < 4; i++ )
  35.         {
  36.             _setvisualpage( i );
  37.             delay( 100L );
  38.         }
  39.     getch();
  40.  
  41.     /* Restore original page and cursor. */
  42.     _displaycursor( oldcursor );
  43.     _setactivepage( oldapage );
  44.     _setvisualpage( oldvpage );
  45. }
  46.  
  47. /* delay - Pauses for a specified number of microseconds. */
  48. void delay( clock_t wait )
  49. {
  50.     clock_t goal;
  51.  
  52.     goal = wait + clock();
  53.     while( goal > clock() )
  54.         ;
  55. }
  56.