gcpGetRGBAGamma(3)

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.