home *** CD-ROM | disk | FTP | other *** search
/ Point Programming 1 / PPROG1.ISO / c / sclib31 / examples / palette.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-31  |  1.7 KB  |  67 lines

  1. #include <scl1.h>
  2. #include <scl1keys.h>
  3.  
  4. /* This file shows how to use ModifyPaletteColor to change palette settings
  5.    in a VGA or EGA monitor */
  6.  
  7. static char PaldemoText1[]="   Up/Down arrow keys - modify background color  background color:\n"
  8.         "Left/Right arrow keys - modify foreground color  foreground color:";
  9.  
  10. static char PaldemoText2[]="ESC to\n EXIT";
  11.  
  12. main()
  13. {
  14. int bcolor=0,fcolor=7;
  15. char buffer[12];
  16. unsigned int key;
  17.  
  18. /* we'll modify palette entry 0 (normally black) and palette entry 7 (white) */
  19.  
  20. InitVideo();
  21. FillBlock(7,0,0,22,79,'X');         /* fill screen */
  22. WriteScreen(7,23,0,PaldemoText1);   /* write message */
  23. WriteScreen(7,23,73,PaldemoText2);
  24.  
  25. do
  26.     {
  27.  
  28.     /* write palette entry values */
  29.  
  30.     sprintf(buffer,"0x%02x\n0x%02x",bcolor,fcolor);     
  31.     WriteScreen(7,23,67,buffer);
  32.  
  33.     switch((key=GetKey()))
  34.         {
  35.         case UP:                /* let user modify value with keyboard */
  36.             if(bcolor < 63)
  37.                 {
  38.                 ++bcolor;
  39.                 ModifyPaletteColor(0,bcolor);   /* modify palette */
  40.                 }
  41.              break;
  42.         case DOWN:
  43.             if(bcolor > 0)
  44.                 {
  45.                 --bcolor;
  46.                 ModifyPaletteColor(0,bcolor);
  47.                 }
  48.             break;
  49.         case RIGHT:
  50.             if(fcolor < 63)
  51.                 {
  52.                 ++fcolor;
  53.                 ModifyPaletteColor(7,fcolor);
  54.                 }
  55.              break;
  56.         case LEFT:
  57.             if(fcolor > 0)
  58.                 {
  59.                 --fcolor;
  60.                 ModifyPaletteColor(7,fcolor);
  61.                 }
  62.             break;
  63.         }
  64.     }while(key != ESC);
  65. InitVideo();                /* restore to default */
  66. }
  67.