## Presentation Device Driver Reference for OS/2

[prev][next][parent][TOC]

### GreCreateLogColorTable - Parameters

hdc (HDC) - input Device context handle.

flOptions (ULONG) - input Options flag.

Valid options are:

LCOL_RESET Indicates that the handling routine must reset the color table to default before processing the remainder of this function.

Note: This option is assumed when the color table is changed from LCOLF_ RGB to LCOLF_INDRGB or LCOLF_CONSECRGB.

LCOL_REALIZABLE Indicates that the application can call GreRealizeColorTable at the appropriate time. This can affect the way the handling routine maps the indexes when the Logical Color Table is not realized. A realizable color table is only required to provide color mapping for its color indexes while it is realized.

If this flag is not set, GreRealizeColorTable has no effect and posts a warning.

LCOL_PURECOLOR For solid patterns, pattern colors that are not available can be approximated by dithering. When this flag is set, only pure colors are used; the handling routine must not dither colors. The default is to allow color dithering.

Other flags are reserved and must be 0.

lFormat (LONG) - input Format of entries in the table.

Valid formats are:

LCOLF_INDRGB Array of (index, RGB) values. Each pair of values contains eight bytes, a four-byte index and a four-byte color. This flag sets the color table into index mode, and forces LCOL_RESET if it is in RGB mode.

LCOLF_CONSECRGB Array of (RGB) values corresponding to color indexes starting from lStart upwards. Each entry is a four-byte value. This flag sets the color table into index mode, and forces LCOL_RESET if it is in RGB mode.

LCOLF_RGB Color index = RGB. This flag sets the color table to RGB mode.

lStart (LONG) - input Starting index.

Starting index. Only relevant when lFormat is set to LCOLF_CONSECRGB.

cCount (LONG) - input Number of elements supplied in the application data area.

The number of elements supplied in pData. This flag can be set to 0 if the color table is to be reset to the default or LCOLF_RGB. When this is 0, LCOLF_INDRGB and LCOLF_CONSECRGB have the same effect.

For LCOLF_INDRGB, cCount must be an even number.

pData (PLONG) - input Pointer to the application data area.

Pointer to the data area containing the color table definition data. The format depends on the value of lFormat. Each color value is a four-byte integer with a value of:

    (R*65536) + (G*256) + B

    Where:

          R = red color intensity value

          G = green color intensity value

          B = blue color intensity value

The maximum intensity for each primary is 255.

pInstance (PVOID) - input Pointer to instance data.

lFunction (ULONG) - input High-order WORD=flags; low-order WORD= NGreCreateLogColorTable.

rc (BOOL) - returns Return Codes.

On completion, the handling routine must return a BOOLEAN value to indicate success or an error.

TRUE Successful
FALSE Error

Possible Errors Detected: Error checking for this function is performed by the graphics engine. Error codes for conditions the handling routine can expect to be passed by the graphics engine include:

PMERR_DEV_FUNC_NOT_INSTALLED
PMERR_INSUFFICIENT_MEMORY
PMERR_INV_COLOR_DATA
PMERR_INV_COLOR_FORMAT
PMERR_INV_COLOR_INDEX
PMERR_INV_COLOR_START_INDEX
PMERR_INV_HDC
PMERR_INV_IN_AREA
PMERR_INV_IN_PATH
PMERR_INV_LENGTH_OR_COUNT
PMERR_REALIZE_NOT_SUPPORTED

Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.