summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/gtkmm2ext/colorspace.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2ext/gtkmm2ext/colorspace.h')
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/colorspace.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/colorspace.h b/libs/gtkmm2ext/gtkmm2ext/colorspace.h
new file mode 100644
index 0000000000..ed350133e8
--- /dev/null
+++ b/libs/gtkmm2ext/gtkmm2ext/colorspace.h
@@ -0,0 +1,59 @@
+/**
+ * @file colorspace.h
+ * @author Pascal Getreuer 2005-2010 <getreuer@gmail.com>
+ */
+
+#ifndef _GTKMM2EXT_COLORSPACE_H_
+#define _GTKMM2EXT_COLORSPACE_H_
+
+/** @brief XYZ color of the D65 white point */
+#define WHITEPOINT_X 0.950456
+#define WHITEPOINT_Y 1.0
+#define WHITEPOINT_Z 1.088754
+
+namespace Gtkmm2ext
+{
+
+void Rgb2Yuv(double *Y, double *U, double *V, double R, double G, double B);
+void Yuv2Rgb(double *R, double *G, double *B, double Y, double U, double V);
+void Rgb2Ycbcr(double *Y, double *Cb, double *Cr, double R, double G, double B);
+void Ycbcr2Rgb(double *R, double *G, double *B, double Y, double Cb, double Cr);
+void Rgb2Jpegycbcr(double *R, double *G, double *B, double Y, double Cb, double Cr);
+void Jpegycbcr2Rgb(double *R, double *G, double *B, double Y, double Cb, double Cr);
+void Rgb2Ypbpr(double *Y, double *Pb, double *Pr, double R, double G, double B);
+void Ypbpr2Rgb(double *R, double *G, double *B, double Y, double Pb, double Pr);
+void Rgb2Ydbdr(double *Y, double *Db, double *Dr, double R, double G, double B);
+void Ydbdr2Rgb(double *R, double *G, double *B, double Y, double Db, double Dr);
+void Rgb2Yiq(double *Y, double *I, double *Q, double R, double G, double B);
+void Yiq2Rgb(double *R, double *G, double *B, double Y, double I, double Q);
+
+void Rgb2Hsv(double *H, double *S, double *V, double R, double G, double B);
+void Hsv2Rgb(double *R, double *G, double *B, double H, double S, double V);
+void Rgb2Hsl(double *H, double *S, double *L, double R, double G, double B);
+void Hsl2Rgb(double *R, double *G, double *B, double H, double S, double L);
+void Rgb2Hsi(double *H, double *S, double *I, double R, double G, double B);
+void Hsi2Rgb(double *R, double *G, double *B, double H, double S, double I);
+
+void Rgb2Xyz(double *X, double *Y, double *Z, double R, double G, double B);
+void Xyz2Rgb(double *R, double *G, double *B, double X, double Y, double Z);
+void Xyz2Lab(double *L, double *a, double *b, double X, double Y, double Z);
+void Lab2Xyz(double *X, double *Y, double *Z, double L, double a, double b);
+void Xyz2Luv(double *L, double *u, double *v, double X, double Y, double Z);
+void Luv2Xyz(double *X, double *Y, double *Z, double L, double u, double v);
+void Xyz2Lch(double *L, double *C, double *H, double X, double Y, double Z);
+void Lch2Xyz(double *X, double *Y, double *Z, double L, double C, double H);
+void Xyz2Cat02lms(double *L, double *M, double *S, double X, double Y, double Z);
+void Cat02lms2Xyz(double *X, double *Y, double *Z, double L, double M, double S);
+
+void Rgb2Lab(double *L, double *a, double *b, double R, double G, double B);
+void Lab2Rgb(double *R, double *G, double *B, double L, double a, double b);
+void Rgb2Luv(double *L, double *u, double *v, double R, double G, double B);
+void Luv2Rgb(double *R, double *G, double *B, double L, double u, double v);
+void Rgb2Lch(double *L, double *C, double *H, double R, double G, double B);
+void Lch2Rgb(double *R, double *G, double *B, double L, double C, double H);
+void Rgb2Cat02lms(double *L, double *M, double *S, double R, double G, double B);
+void Cat02lms2Rgb(double *R, double *G, double *B, double L, double M, double S);
+
+} /* namespace */
+
+#endif