Borland C++ reference

setrgbpalette

raw OCR

Allows user to define colors for the IBM 8514.

Defined in header <graphics.h>

Syntax

#include <graphics.h>
void  far setrgbpalette(int colormim,  int red, int green, int blue);

Portability

DOSUNIXWindowsANSI CC++ only
■

Remarks

setrgbpalette can be used with the IBM 8514 and VGA drivers.

colormnn defines the palette entry to be loaded, while red, green, and blue define the component colors of the palette entry.

For the IBM 8514 display (and the VGA in 256K color mode), colornum is in the range 0 to 255. For the remaining modes of the VGA, colornum is in the range 0 to 15. Only the lower byte of red, green, or blue is used, and out of each byte, only the 6 most significant bits are loaded in the palette.

fez^

For compatibility with other IBM graphics adapters, the BGI driver defines the first 16 palette entries of the IBM 8514 to the default colors of the EGA/VGA. These values can be used as is, or they can be changed using setrgbpalette.

Return value

None.

See also

Example

#include <graphics.h>
#include <stdlib.h>
ffinclude <stdio.h>
#include <conio.h>

int main(void)

   /* select driver and mode that supports use  of setrgbpalette */
   int gdriver = VGA, gmode = VGAHI, errorcode;
   struct palettetype pal;
   int i, ht, y, xmax;
   /* initialize graphics and local variables  7
   initgraph(&gdriver, &gmode,  "");

   /* read result of initialization  */
   errorcode = graphresult ();
   if (errorcode != grOk)  { /* an error occurred  */
      printf("Graphics error: %s\n", grapherrormsg( errorcode)
      printf("Press any key to halt:");
      getchO ;
      exit(l)                /* terminate with  an error code */

   /* grab a copy of the palette */
   getpalette(&pal);

   /* create gray scale */
   for (1=0; i<pal.size; i++)
      setrgbpalette (pal.colors [i]      1*4, 1*4)
/* display the gray scale  */
ht = getmaxyO  / 16;
xmax ='getmaxx ();
y = 0;
for  (1=0; l<pal.size; 1++) {
  ■ setfillstyle(SOLID_FILL, 1)
   bar(0, y, xmax, y+ht) ;
   y += ht;
}
/* clean up *l
getchO ;
closegraphO ;
return 0;

Differences from modern implementations

Nothing recorded yet.

Modern references

These are search links, not yet checked by hand.