summaryrefslogtreecommitdiff
path: root/tree/colorspace.c
diff options
context:
space:
mode:
Diffstat (limited to 'tree/colorspace.c')
-rw-r--r--tree/colorspace.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/tree/colorspace.c b/tree/colorspace.c
new file mode 100644
index 00000000..6ff61d3e
--- /dev/null
+++ b/tree/colorspace.c
@@ -0,0 +1,34 @@
+#include <fitz.h>
+
+void
+fz_freecolorspace(fz_colorspace *cs)
+{
+ if (cs->frozen)
+ return;
+ if (cs->free)
+ cs->free(cs);
+ fz_free(cs);
+}
+
+void
+fz_convertcolor(fz_colorspace *srcs, float *srcv, fz_colorspace *dsts, float *dstv)
+{
+ float xyz[3];
+ int i;
+ if (srcs != dsts)
+ {
+printf("convert color from %s to %s\n ", srcs->name, dsts->name);
+for(i=0;i<srcs->n;i++)printf("%g ", srcv[i]);printf("\n");
+ srcs->toxyz(srcs, srcv, xyz);
+printf(" %g %g %g\n ", xyz[0], xyz[1], xyz[2]);
+ dsts->fromxyz(dsts, xyz, dstv);
+for(i=0;i<dsts->n;i++)printf("%g ", dstv[i]);printf("\n");
+ }
+ else
+ {
+ int i;
+ for (i = 0; i < srcs->n; i++)
+ dstv[i] = srcv[i];
+ }
+}
+