26 #ifndef __TERRALIB_COLOR_INTERNAL_COLOR_TRANSFORM_H 27 #define __TERRALIB_COLOR_INTERNAL_COLOR_TRANSFORM_H 54 enum Spec { Invalid, Rgb, Hsv, Cmyk, Hsl };
93 ColorTransform(
const int r,
const int g,
const int b,
const int a=255);
115 void setRgba(
int r,
int g,
int b,
int a);
122 void setRgba(
int rgba);
139 void getRgba(
int* r,
int* g,
int* b,
int* a=0)
const;
167 int getGreen()
const;
181 int getAlpha()
const;
186 void setRed(
int red);
191 void setGreen(
int green);
196 void setBlue(
int blue);
201 void setAlpha(
int alpha);
246 int getHsvHue()
const;
255 int getHsvSaturation()
const;
264 int getValue()
const;
276 void getHsv(
int *h,
int *s,
int *v,
int *a = 0)
const;
288 void setHsv(
int h,
int s,
int v,
int a = 255);
302 int getMagenta()
const;
309 int getYellow()
const;
316 int getBlack()
const;
329 void getCmyk(
int *c,
int *m,
int *y,
int *k,
int *a = 0);
342 void setCmyk(
int c,
int m,
int y,
int k,
int a = 255);
351 int getHslHue()
const;
360 int getHslSaturation()
const;
369 int getLightness()
const;
381 void getHsl(
int *h,
int *s,
int *l,
int *a = 0)
const;
393 void setHsl(
int h,
int s,
int l,
int a = 255);
427 inline bool isValid()
const;
434 int round(
double d)
const;
444 bool fuzzyCompare(
double p1,
double p2)
const;
453 bool fuzzyIsNull(
double d)
const;
455 template <
typename T>
456 const T&
vMin(
const T &a,
const T &b)
const {
if (a < b)
return a;
return b;}
475 unsigned short alpha;
484 unsigned short alpha;
493 unsigned short alpha;
495 unsigned short saturation;
500 unsigned short array[5];
507 m_params.argb.alpha = USHRT_MAX;
508 m_params.argb.red = 0;
509 m_params.argb.green = 0;
510 m_params.argb.blue = 0;
511 m_params.argb.pad = 0;
516 return m_spec != Invalid;
521 return d >= 0.0 ? int(d + 0.5) : int(d -
int(d-1) + 0.5) + int(d-1);
526 return (fabs(p1 - p2) <= 0.000000000001 * vMin(fabs(p1), fabs(p2)));
531 return fabs(d) <= 0.000000000001;
545 #endif // __TERRALIB_COLOR_INTERNAL_COLOR_TRANSFORM_H
Configuration flags for the Color module of TerraLib.
TEDATAACCESSEXPORT te::da::Expression * operator==(const te::da::Expression &e1, const te::da::Expression &e2)
TEDATAACCESSEXPORT te::da::Expression * operator!=(const te::da::Expression &e1, const te::da::Expression &e2)
A helper class for 24-bit RGBA (Red-Green-Blue-Alpha channel) color.
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
#define TECOLOREXPORT
You can use this macro in order to export/import classes and functions from this module.