home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / turbo5 / bgiexamp.arc / SETRGB.PAS < prev    next >
Pascal/Delphi Source File  |  1988-08-29  |  2KB  |  60 lines

  1. { example for SetRGBPalette }
  2.  
  3. uses
  4.   Graph;
  5. type
  6.   RGBRec = record
  7.     RedVal, GreenVal, BlueVal : Integer;
  8.   end;
  9. const
  10.   EGAColors : array[0..MaxColors] of RGBRec =
  11.     (                                             { NAME       COLOR  }
  12.      ( RedVal:$00;  GreenVal:$00;  BlueVal:$00 ), { Black      EGA  0 }
  13.      ( RedVal:$00;  GreenVal:$00;  BlueVal:$fc ), { Blue       EGA  1 }
  14.      ( RedVal:$24;  GreenVal:$fc;  BlueVal:$24 ), { Green      EGA  2 }
  15.      ( RedVal:$00;  GreenVal:$fc;  BlueVal:$fc ), { Cyan       EGA  3 }
  16.      ( RedVal:$fc;  GreenVal:$14;  BlueVal:$14 ), { Red        EGA  4 }
  17.      ( RedVal:$b0;  GreenVal:$00;  BlueVal:$fc ), { Magenta    EGA  5 }
  18.      ( RedVal:$70;  GreenVal:$48;  BlueVal:$00 ), { Brown      EGA 20 }
  19.      ( RedVal:$c4;  GreenVal:$c4;  BlueVal:$c4 ), { White      EGA  7 }
  20.      ( RedVal:$34;  GreenVal:$34;  BlueVal:$34 ), { Gray       EGA 56 }
  21.      ( RedVal:$00;  GreenVal:$00;  BlueVal:$70 ), { Lt Blue    EGA 57 }
  22.      ( RedVal:$00;  GreenVal:$70;  BlueVal:$00 ), { Lt Green   EGA 58 }
  23.      ( RedVal:$00;  GreenVal:$70;  BlueVal:$70 ), { Lt Cyan    EGA 59 }
  24.      ( RedVal:$70;  GreenVal:$00;  BlueVal:$00 ), { Lt Red     EGA 60 }
  25.      ( RedVal:$70;  GreenVal:$00;  BlueVal:$70 ), { Lt Magenta EGA 61 }
  26.      ( RedVal:$fc;  GreenVal:$fc;  BlueVal:$24 ), { Yellow     EGA 62 }
  27.      ( RedVal:$fc;  GreenVal:$fc;  BlueVal:$fc )  { Br. White  EGA 63 }
  28.     );
  29. var
  30.   Driver, Mode,
  31.   i : Integer;
  32.  
  33. begin
  34.   Driver := IBM8514;                              { Override detection }
  35.   Mode := IBM8514Hi;
  36.   InitGraph(Driver, Mode, '');                 { Put in graphics mode }
  37.   if GraphResult < 0 then
  38.     Halt(1);
  39.  
  40.   { Zero palette, make all graphics output invisible }
  41.   for i := 0 to MaxColors do
  42.     with EGAColors[i] do
  43.       SetRGBPalette(i, 0, 0, 0);
  44.  
  45.   { Display something }
  46.   for i := i to MaxColors do     { Change 1st 16 8514 palette entries }
  47.   begin
  48.     SetColor(i);
  49.     OutTextXY(10, i * 10, ' ..Press any key.. ');
  50.   end;
  51.  
  52.   { Restore default EGA colors to 8514 palette }
  53.   for i := 0 to MaxColors do
  54.     with EGAColors[i] do
  55.       SetRGBPalette(i, RedVal, GreenVal, BlueVal);
  56.  
  57.   Readln;
  58.   Closegraph;
  59. end.
  60.