#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);
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.