Set or get the flags and ROP behavior of a BOB

Name

ggiBltSetBobBobFlags, ggiBltGetBobBobFlags, ggiBltSetBobRop, ggiBltGetBobRop, ggiBltSetBobKeyValue, ggiBltGetBobKeyValue, ggiBltSetBobKeyMask, ggiBltGetBobKeyMask : Set or get the flags and ROP behavior of a BOB

Synopsis

#include <ggi/blt.h>

int ggiBltSetBobRop(ggiBlt_source_t bob, enum ggi_ll_rop rop);

int ggiBltGetBobRop(ggiBlt_source_t bob, enum ggi_ll_rop *rop);

int ggiBltSetBobKeyValue(ggiBlt_source_t bob, ggi_pixel keyval);

int ggiBltGetBobKeyValue(ggiBlt_source_t bob, ggi_pixel *keyval);

int ggiBltSetBobKeyMask(ggiBlt_source_t bob, ggi_pixel keymask);

int ggiBltGetBobKeyMask(ggiBlt_source_t bob, ggi_pixel *keymask);

int ggiBltSetBobFlags(ggiBlt_source_t bob, enum ggiBlt_bob_flags flags);

int ggiBltGetBobFlags(ggiBlt_source_t bob, enum ggiBlt_bob_flags *flags);

Description

ggiBltSetBobFlags and ggiBltGetBobFlags set and read, respectively, the current special flags of a BOB. Presently the only flag value defined is 'BLT_BOBFLAGS_KEYNOT', which alters the sense of the destination color keying comparison (see below).

ggiBltSetBobRop and ggiBltGetBobRop set and read, respectively, the current raster operation imparted to a blit operation when a BOB is placed into a Blt with one of the ggiBltPut* functions.

ggiBltSetBobKeyValue and ggiBltGetBobKeyValue set and read, respectively, the pixel value imparted as a destination color key to a blit operation when a BOB is placed into a Blt with one of the ggiBltPut* functions. The blit only alters pixels in the destination which previously contain this value, unless the key mask (see below) is non-zero or the 'BLT_BOBFLAGS_KEYNOT' bit is set, the latter of which reverses the behavior, altering all pixels except those that previously contain this value.

ggiBltSetBobKeyMask and ggiBltGetBobKeyMask set and read, respectively, the pixel value imparted as a destination color key mask to a blit operation when a BOB is placed into a Blt with one of the ggiBltPut* functions. Bits set in this value are treated as dont care bits when compared to the color key set by ggiBltSetKeyValue.

Once imparted through a ggiBltPut* function, calling these functions again on this BOB with a different value will not alter the respective property in the blit's precompiled operation, only the property to be imparted to future operations.

Return value

All four function pairs 0 for OK or a negative value on failure.