NAME
gcpGetRGBAGamma, gcpSetRGBAGamma, gcpGetRGBAGammaMap,
gcpSetRGBAGammaMap, gcpGetYUVGamma, gcpSetYUVGamma, gcpGetYUVGammaMap,
gcpSetYUVGammaMap, gcpGetCMYKGamma, gcpSetCMYKGamma,
gcpGetCMYKGammaMap, gcpSetCMYKGammaMap, gcpGetHSVGamma, gcpSetHSVGamma,
gcpGetHSVGammaMap, gcpSetHSVGammaMap, gcpGetYCCGamma, gcpSetYCCGamma,
gcpGetYCCGammaMap, gcpSetYCCGammaMap - Manipulate the gamma maps and
the gamma correction of a visual
SYNOPSIS
#include <ggi/gcp.h>
int gcpGetRGBAGamma(ggi_visual_t vis,
ggi_float *r,ggi_float *g,ggi_float *b);
int gcpSetRGBAGamma(ggi_visual_t vis,
ggi_float r,ggi_float g,ggi_float b);
int gcpGetRGBAGammaMap(ggi_visual_t vis,
int s,int len,gcp_RGBAcolor *gammamap);
int gcpSetRGBAGammaMap(ggi_visual_t vis,
int s,int len,gcp_RGBAcolor *gammamap);
int gcpGetYUVGamma(ggi_visual_t vis,
ggi_float *y,ggi_float *u,ggi_float *v);
int gcpSetYUVGamma(ggi_visual_t vis,
ggi_float y,ggi_float u,ggi_float v);
int gcpGetYUVGammaMap(ggi_visual_t vis,
int s,int len,gcp_YUVcolor *gammamap);
int gcpSetYUVGammaMap(ggi_visual_t vis,
int s,int len,gcp_YUVcolor *gammamap);
int gcpGetCMYKGamma(ggi_visual_t vis,
ggi_float *c,ggi_float *m,ggi_float *y,ggi_float *k);
int gcpSetCMYKGamma(ggi_visual_t vis,
ggi_float c,ggi_float m,ggi_float y,ggi_float k);
int gcpGetCMYKGammaMap(ggi_visual_t vis,
int s,int len,gcp_CMYKcolor *gammamap);
int gcpSetCMYKGammaMap(ggi_visual_t vis,
int s,int len,gcp_CMYKcolor *gammamap);
int gcpGetHSVGamma(ggi_visual_t vis,
ggi_float *h,ggi_float *s,ggi_float *v);
int gcpSetHSVGamma(ggi_visual_t vis,
ggi_float h,ggi_float s,ggi_float v);
int gcpGetHSVGammaMap(ggi_visual_t vis,
int s,int len,gcp_HSVcolor *gammamap);
int gcpSetHSVGammaMap(ggi_visual_t vis,
int s,int len,gcp_HSVcolor *gammamap);
int gcpGetYCCGamma(ggi_visual_t vis,
ggi_float *y,ggi_float *c1,ggi_float *c2);
int gcpSetYCCGamma(ggi_visual_t vis,
ggi_float y,ggi_float c1,ggi_float c2);
int gcpGetYCCGammaMap(ggi_visual_t vis,
int s,int len,gcp_YCCcolor *gammamap);
int gcpSetYCCGammaMap(ggi_visual_t vis,
int s,int len,gcp_YCCcolor *gammamap);
DESCRIPTION
Some modes on some hardware can use a per-channel palette to lookup the
values before sending to the monitor. Generally this is used for gamma
correction by filling the lookup table with a curve, hence the name
"gamma map", but it could be used for other things e.g. special effects
in games. Truecolor modes with gamma maps are sometimes referred to as
"directcolor".
gcpSet*GammaMap and gcpGet*GammaMap set or get the gamma map, for len
colors starting at s. In the event that there are more map entries for
some channels than others, values for the upper indices of the map in
the shallow channels are ignored on write, and undefined on read.
RETURN VALUE
All functions returns 0 for success, otherwise an ggi-error(3) code.