# SETBKCOLORRGB (W*S)

Graphics Function: Sets the current background color to the given Red-Green-Blue (RGB) value.

## Module

USE IFQWIN

result = SETBKCOLORRGB (color)

color | (Input) INTEGER(4). RGB color value to set the background color to. Range and result depend on the system's display adapter.

## Results

The result type is INTEGER(4). The result is the previous background RGB color value.

In each RGB color value, each of the three colors, red, green, and blue, is represented by an eight-bit value (2 hex digits). In the value you specify with SETBKCOLORRGB, red is the rightmost byte, followed by green and blue. The RGB value's internal structure is as follows:

Larger numbers correspond to stronger color intensity with binary 1111111 (hex Z'FF') the maximum for each of the three components. For example, Z'0000FF' yields full-intensity red, Z'00FF00' full-intensity green, Z'FF0000' full-intensity blue, and Z'FFFFFF' full-intensity for all three, resulting in bright white.

The default background color is value 0, which is black. Changing the background color value does not change the screen immediately, but becomes effective when CLEARSCREEN is executed or when doing text input or output such as READ, WRITE, or OUTTEXT. The graphics output function OUTGTEXT does not affect the color of the background.

SETBKCOLORRGB sets the RGB color value of the current background for both text and graphics. The RGB color value of text over the background color (used by text functions such as OUTTEXT, WRITE, and PRINT) is set with SETTEXTCOLORRGB. The RGB color value of graphics over the background color (used by graphics functions such as ARC, OUTGTEXT, and FLOODFILLRGB) is set with SETCOLORRGB.

SETBKCOLORRGB (and the other RGB color selection functions SETCOLORRGB, and SETTEXTCOLORRGB) sets the color to a value chosen from the entire available range. The non-RGB color functions (SETCOLOR, SETBKCOLOR, and SETTEXTCOLOR) use color indexes rather than true color values. If you use color indexes, you are restricted to the colors available in the palette, at most 256. Some display adapters (SVGA and true color) are capable of creating 262,144 (256K) colors or more. To access any available color, you need to specify an explicit RGB value with an RGB color function, rather than a palette index with a non-RGB color function.

## Example

     ! Build as a QuickWin or Standard Graphics App.
     USE IFQWIN
     INTEGER(4) oldcolor
     INTEGER(2) status, x1, y1, x2, y2
     x1 = 80; y1 = 50
     x2 = 240; y2 = 150
     oldcolor = SETBKCOLORRGB(Z'FF0000') !blue
     oldcolor = SETCOLORRGB(Z'FF') ! red
     CALL CLEARSCREEN ($GCLEARSCREEN)
     status = ELLIPSE($GBORDER, x1, y1, x2, y2)
     END

Parent topic: Graphics Library Routines

## See Also

GETBKCOLORRGB
SETCOLORRGB
SETTEXTCOLORRGB
SETPIXELRGB
SETPIXELSRGB
SETBKCOLOR