[babl/wip/pippin/inverted-cmyk] cmyk: add capitalized model and components, where 1 is black
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl/wip/pippin/inverted-cmyk] cmyk: add capitalized model and components, where 1 is black
- Date: Wed, 21 Nov 2018 13:43:21 +0000 (UTC)
commit 2242478371205dcf3351d762672748def5d9c01c
Author: Øyvind Kolås <pippin gimp org>
Date: Tue Nov 20 02:11:02 2018 +0100
cmyk: add capitalized model and components, where 1 is black
and rearrange order of code to simplify adding more
extensions/CMYK.c | 1119 +++++++++++++++++++++++++++--------------------------
1 file changed, 568 insertions(+), 551 deletions(-)
---
diff --git a/extensions/CMYK.c b/extensions/CMYK.c
index 5925b40..711284b 100644
--- a/extensions/CMYK.c
+++ b/extensions/CMYK.c
@@ -32,340 +32,254 @@
#include "babl.h"
#include "base/util.h"
-static void rgba_to_cmykA (const Babl *conversion,char *src,
- char *dst,
- long n);
+static void
+rgba_to_cmykA (const Babl *conversion,char *src,
+ char *dst,
+ long n)
+{
+ while (n--)
+ {
+ double red = (((double *) src)[0]);
+ double green = (((double *) src)[1]);
+ double blue = (((double *) src)[2]);
+ double alpha = ((double *) src)[3];
-static void cmykA_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n);
+ double cyan, magenta, yellow, key;
-static void rgba_to_cmyka (const Babl *conversion,char *src,
- char *dst,
- long n);
+ double pullout = 1.0;
-static void cmyka_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n);
+ cyan = 1.0 - red;
+ magenta = 1.0 - green;
+ yellow = 1.0 - blue;
-static void rgba_to_cmyk (const Babl *conversion,char *src,
- char *dst,
- long n);
+ key = 1.0;
+ if (cyan < key) key = cyan;
+ if (magenta < key) key = magenta;
+ if (yellow < key) key = yellow;
-static void cmyk_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n);
+ key *= pullout;
-static void rgba_to_cmy (const Babl *conversion,char *src,
- char *dst,
- long n);
+ if (key < 1.0)
+ {
+ cyan = (cyan - key) / (1.0 - key);
+ magenta = (magenta - key) / (1.0 - key);
+ yellow = (yellow - key) / (1.0 - key);
+ }
+ else
+ {
+ cyan = 0.0;
+ magenta = 0.0;
+ yellow = 0.0;
+ }
-static void cmy_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n);
+ ((double *) dst)[0] = (1.0-cyan) * alpha;
+ ((double *) dst)[1] = (1.0-magenta) * alpha;
+ ((double *) dst)[2] = (1.0-yellow) * alpha;
+ ((double *) dst)[3] = (1.0-key) * alpha;
+ ((double *) dst)[4] = alpha;
+ src += 4 * sizeof (double);
+ dst += 5 * sizeof (double);
+ }
+}
static void
-cmyk_to_cmyka (const Babl *conversion,char *src,
- char *dst,
- long n);
+cmyka_to_cmykA (const Babl *conversion,char *src,
+ char *dst,
+ long n)
+{
+ while (n--)
+ {
+ double cyan = ((double *) src)[0];
+ double magenta = ((double *) src)[1];
+ double yellow = ((double *) src)[2];
+ double key = ((double *) src)[3];
+ double alpha = ((double *) src)[4];
+
+ ((double *) dst)[0] = (cyan) * alpha;
+ ((double *) dst)[1] = (magenta) * alpha;
+ ((double *) dst)[2] = (yellow) * alpha;
+ ((double *) dst)[3] = (key) * alpha;
+ ((double *) dst)[4] = alpha;
+
+ src += 5 * sizeof (double);
+ dst += 5 * sizeof (double);
+ }
+}
static void
-cmyka_to_cmyk (const Babl *conversion,char *src,
+cmykA_to_rgba (const Babl *conversion,char *src,
char *dst,
- long n);
+ long n)
+{
+ while (n--)
+ {
+ double alpha = ((double *) src)[4];
+ double ralpha = alpha>0.000001?1.0/alpha:0.0;
+ double cyanI = ((double *) src)[0] * ralpha;
+ double magentaI= ((double *) src)[1] * ralpha;
+ double yellowI = ((double *) src)[2] * ralpha;
+ double keyI = ((double *) src)[3] * ralpha;
+
+ double cyan = 1.0-cyanI;
+ double magenta = 1.0-magentaI;
+ double yellow = 1.0-yellowI;
+ double key = 1.0-keyI;
+
+ double red, green, blue;
+
+ if (key < 1.0)
+ {
+ cyan = cyan * (1.0 - key) + key;
+ magenta = magenta * (1.0 - key) + key;
+ yellow = yellow * (1.0 - key) + key;
+ }
+ else
+ {
+ cyan = magenta = yellow = 1.0;
+ }
+
+ red = 1.0 - cyan;
+ green = 1.0 - magenta;
+ blue = 1.0 - yellow;
+
+ ((double *) dst)[0] = (red);
+ ((double *) dst)[1] = (green);
+ ((double *) dst)[2] = (blue);
+ ((double *) dst)[3] = alpha;
+
+ src += 5 * sizeof (double);
+ dst += 4 * sizeof (double);
+ }
+}
static void
cmykA_to_cmyka (const Babl *conversion,char *src,
- char *dst,
- long n);
+ char *dst,
+ long n)
+{
+ while (n--)
+ {
+ double alpha = ((double *) src)[4];
+ double ralpha = alpha>0.000001?1.0/alpha:0.0;
+ double cyan = ((double *) src)[0] * ralpha;
+ double magenta= ((double *) src)[1] * ralpha;
+ double yellow = ((double *) src)[2] * ralpha;
+ double key = ((double *) src)[3] * ralpha;
-static void
-cmyka_to_cmykA(const Babl *conversion,char *src,
- char *dst,
- long n);
+ ((double *) dst)[0] = cyan;
+ ((double *) dst)[1] = magenta;
+ ((double *) dst)[2] = yellow;
+ ((double *) dst)[3] = key;
+ ((double *) dst)[4] = alpha;
-int init (void);
+ src += 5 * sizeof (double);
+ dst += 5 * sizeof (double);
+ }
+}
-int
-init (void)
+
+static void
+rgba_to_cmyka (const Babl *conversion,char *src,
+ char *dst,
+ long n)
{
- babl_component_new ("cyan", NULL);
- babl_component_new ("yellow", NULL);
- babl_component_new ("magenta", NULL);
- babl_component_new ("key", NULL);
+ while (n--)
+ {
+ double red = (((double *) src)[0]);
+ double green = (((double *) src)[1]);
+ double blue = (((double *) src)[2]);
+ double alpha = ((double *) src)[3];
+ double cyan, magenta, yellow, key;
- babl_component_new ("ca", NULL);
- babl_component_new ("ma", NULL);
- babl_component_new ("ya", NULL);
- babl_component_new ("ka", NULL);
+ double pullout = 1.0;
+ cyan = 1.0 - red;
+ magenta = 1.0 - green;
+ yellow = 1.0 - blue;
- babl_model_new (
- "name", "camayakaA",
- babl_component ("ca"),
- babl_component ("ma"),
- babl_component ("ya"),
- babl_component ("ka"),
- babl_component ("A"),
- NULL
- );
+ key = 1.0;
+ if (cyan < key) key = cyan;
+ if (magenta < key) key = magenta;
+ if (yellow < key) key = yellow;
- babl_model_new (
- "name", "cmykA",
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- babl_component ("A"),
- NULL
- );
- babl_model_new (
- "name", "cmyk",
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- NULL
- );
- babl_model_new (
- "name", "cmy",
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- NULL
- );
+ key *= pullout;
+ if (key < 1.0)
+ {
+ cyan = (cyan - key) / (1.0 - key);
+ magenta = (magenta - key) / (1.0 - key);
+ yellow = (yellow - key) / (1.0 - key);
+ }
+ else
+ {
+ cyan = 0.0;
+ magenta = 0.0;
+ yellow = 0.0;
+ }
- babl_conversion_new (
- babl_model ("cmykA"),
- babl_model ("cmyk"),
- "linear", cmyka_to_cmyk,
- NULL
- );
- babl_conversion_new (
- babl_model ("cmyk"),
- babl_model ("cmykA"),
- "linear", cmyk_to_cmyka,
- NULL
- );
+ ((double *) dst)[0] = 1.0-cyan;
+ ((double *) dst)[1] = 1.0-magenta;
+ ((double *) dst)[2] = 1.0-yellow;
+ ((double *) dst)[3] = 1.0-key;
+ ((double *) dst)[4] = alpha;
+ src += 4 * sizeof (double);
+ dst += 5 * sizeof (double);
+ }
+}
- babl_conversion_new (
- babl_model ("cmykA"),
- babl_model ("camayakaA"),
- "linear", cmyka_to_cmykA,
- NULL
- );
- babl_conversion_new (
- babl_model ("camayakaA"),
- babl_model ("cmykA"),
- "linear", cmykA_to_cmyka,
- NULL
- );
+static void
+cmyka_to_rgba (const Babl *conversion,char *src,
+ char *dst,
+ long n)
+{
+ while (n--)
+ {
+ double cyan = 1.0-((double *) src)[0];
+ double magenta = 1.0-((double *) src)[1];
+ double yellow = 1.0-((double *) src)[2];
+ double key = 1.0-((double *) src)[3];
+ double alpha = ((double *) src)[4];
+ double red, green, blue;
- babl_conversion_new (
- babl_model ("RGBA"),
- babl_model ("camayakaA"),
- "linear", rgba_to_cmykA,
- NULL
- );
- babl_conversion_new (
- babl_model ("camayakaA"),
- babl_model ("RGBA"),
- "linear", cmykA_to_rgba,
- NULL
- );
-
- babl_conversion_new (
- babl_model ("RGBA"),
- babl_model ("cmykA"),
- "linear", rgba_to_cmyka,
- NULL
- );
- babl_conversion_new (
- babl_model ("cmykA"),
- babl_model ("RGBA"),
- "linear", cmyka_to_rgba,
- NULL
- );
- babl_conversion_new (
- babl_model ("RGBA"),
- babl_model ("cmyk"),
- "linear", rgba_to_cmyk,
- NULL
- );
- babl_conversion_new (
- babl_model ("cmyk"),
- babl_model ("RGBA"),
- "linear", cmyk_to_rgba,
- NULL
- );
- babl_conversion_new (
- babl_model ("cmyk"),
- babl_model ("cmykA"),
- "linear", cmyk_to_cmyka,
- NULL
- );
- babl_conversion_new (
- babl_model ("RGBA"),
- babl_model ("cmy"),
- "linear", rgba_to_cmy,
- NULL
- );
- babl_conversion_new (
- babl_model ("cmy"),
- babl_model ("RGBA"),
- "linear", cmy_to_rgba,
- NULL
- );
-
- babl_format_new (
- "name", "camayakaA float",
- babl_model ("camayakaA"),
- babl_type ("float"),
- babl_component ("ca"),
- babl_component ("ma"),
- babl_component ("ya"),
- babl_component ("ka"),
- babl_component ("A"),
- NULL
- );
-
- babl_format_new (
- "name", "cmykA float",
- babl_model ("cmykA"),
- babl_type ("float"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- babl_component ("A"),
- NULL
- );
- babl_format_new (
- "name", "cmyk float",
- babl_model ("cmyk"),
- babl_type ("float"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- NULL
- );
- babl_format_new (
- "name", "cmy float",
- babl_model ("cmy"),
- babl_type ("float"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- NULL
- );
-
- babl_format_new (
- "name", "cmyk u8",
- babl_model ("cmyk"),
- babl_type ("u8"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- NULL
- );
- babl_format_new (
- "name", "cmykA u8",
- babl_model ("cmykA"),
- babl_type ("u8"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- babl_component ("A"),
- NULL
- );
+ if (key < 1.0)
+ {
+ cyan = cyan * (1.0 - key) + key;
+ magenta = magenta * (1.0 - key) + key;
+ yellow = yellow * (1.0 - key) + key;
+ }
+ else
+ {
+ cyan = magenta = yellow = 1.0;
+ }
- babl_format_new (
- "name", "cmyk u16",
- babl_model ("cmyk"),
- babl_type ("u8"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- NULL
- );
- babl_format_new (
- "name", "cmykA u16",
- babl_model ("cmykA"),
- babl_type ("u16"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- babl_component ("A"),
- NULL
- );
- babl_format_new (
- "name", "cmyk u32",
- babl_model ("cmyk"),
- babl_type ("u8"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- NULL
- );
- babl_format_new (
- "name", "cmykA u32",
- babl_model ("cmykA"),
- babl_type ("u32"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- babl_component ("A"),
- NULL
- );
+ red = 1.0 - cyan;
+ green = 1.0 - magenta;
+ blue = 1.0 - yellow;
- babl_format_new (
- "name", "cmyk float",
- babl_model ("cmyk"),
- babl_type ("float"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- NULL
- );
- babl_format_new (
- "name", "cmykA float",
- babl_model ("cmykA"),
- babl_type ("float"),
- babl_component ("cyan"),
- babl_component ("magenta"),
- babl_component ("yellow"),
- babl_component ("key"),
- babl_component ("A"),
- NULL
- );
+ ((double *) dst)[0] = (red);
+ ((double *) dst)[1] = (green);
+ ((double *) dst)[2] = (blue);
+ ((double *) dst)[3] = alpha;
- return 0;
+ src += 5 * sizeof (double);
+ dst += 4 * sizeof (double);
+ }
}
static void
-rgba_to_cmykA (const Babl *conversion,char *src,
- char *dst,
- long n)
+rgba_to_cmyk (const Babl *conversion,char *src,
+ char *dst,
+ long n)
{
while (n--)
{
double red = (((double *) src)[0]);
double green = (((double *) src)[1]);
double blue = (((double *) src)[2]);
- double alpha = ((double *) src)[3];
double cyan, magenta, yellow, key;
@@ -395,277 +309,40 @@ rgba_to_cmykA (const Babl *conversion,char *src,
yellow = 0.0;
}
- ((double *) dst)[0] = (1.0-cyan) * alpha;
- ((double *) dst)[1] = (1.0-magenta) * alpha;
- ((double *) dst)[2] = (1.0-yellow) * alpha;
- ((double *) dst)[3] = (1.0-key) * alpha;
- ((double *) dst)[4] = alpha;
+ ((double *) dst)[0] = 1.0-cyan;
+ ((double *) dst)[1] = 1.0-magenta;
+ ((double *) dst)[2] = 1.0-yellow;
+ ((double *) dst)[3] = 1.0-key;
src += 4 * sizeof (double);
- dst += 5 * sizeof (double);
+ dst += 4 * sizeof (double);
}
}
static void
-cmyka_to_cmykA (const Babl *conversion,char *src,
- char *dst,
- long n)
+cmyk_to_rgba (const Babl *conversion,char *src,
+ char *dst,
+ long n)
{
while (n--)
{
- double cyan = ((double *) src)[0];
- double magenta = ((double *) src)[1];
- double yellow = ((double *) src)[2];
- double key = ((double *) src)[3];
- double alpha = ((double *) src)[4];
+ double cyan = 1.0-((double *) src)[0];
+ double magenta = 1.0-((double *) src)[1];
+ double yellow = 1.0-((double *) src)[2];
+ double key = 1.0-((double *) src)[3];
- ((double *) dst)[0] = (cyan) * alpha;
- ((double *) dst)[1] = (magenta) * alpha;
- ((double *) dst)[2] = (yellow) * alpha;
- ((double *) dst)[3] = (key) * alpha;
- ((double *) dst)[4] = alpha;
+ double red, green, blue;
- src += 5 * sizeof (double);
- dst += 5 * sizeof (double);
- }
-}
-
-static void
-cmykA_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n)
-{
- while (n--)
- {
- double alpha = ((double *) src)[4];
- double ralpha = alpha>0.000001?1.0/alpha:0.0;
- double cyanI = ((double *) src)[0] * ralpha;
- double magentaI= ((double *) src)[1] * ralpha;
- double yellowI = ((double *) src)[2] * ralpha;
- double keyI = ((double *) src)[3] * ralpha;
-
- double cyan = 1.0-cyanI;
- double magenta = 1.0-magentaI;
- double yellow = 1.0-yellowI;
- double key = 1.0-keyI;
-
- double red, green, blue;
-
- if (key < 1.0)
- {
- cyan = cyan * (1.0 - key) + key;
- magenta = magenta * (1.0 - key) + key;
- yellow = yellow * (1.0 - key) + key;
- }
- else
- {
- cyan = magenta = yellow = 1.0;
- }
-
- red = 1.0 - cyan;
- green = 1.0 - magenta;
- blue = 1.0 - yellow;
-
- ((double *) dst)[0] = (red);
- ((double *) dst)[1] = (green);
- ((double *) dst)[2] = (blue);
- ((double *) dst)[3] = alpha;
-
- src += 5 * sizeof (double);
- dst += 4 * sizeof (double);
- }
-}
-
-static void
-cmykA_to_cmyka (const Babl *conversion,char *src,
- char *dst,
- long n)
-{
- while (n--)
- {
- double alpha = ((double *) src)[4];
- double ralpha = alpha>0.000001?1.0/alpha:0.0;
- double cyan = ((double *) src)[0] * ralpha;
- double magenta= ((double *) src)[1] * ralpha;
- double yellow = ((double *) src)[2] * ralpha;
- double key = ((double *) src)[3] * ralpha;
-
- ((double *) dst)[0] = cyan;
- ((double *) dst)[1] = magenta;
- ((double *) dst)[2] = yellow;
- ((double *) dst)[3] = key;
- ((double *) dst)[4] = alpha;
-
- src += 5 * sizeof (double);
- dst += 5 * sizeof (double);
- }
-}
-
-
-static void
-rgba_to_cmyka (const Babl *conversion,char *src,
- char *dst,
- long n)
-{
- while (n--)
- {
- double red = (((double *) src)[0]);
- double green = (((double *) src)[1]);
- double blue = (((double *) src)[2]);
- double alpha = ((double *) src)[3];
-
- double cyan, magenta, yellow, key;
-
- double pullout = 1.0;
-
- cyan = 1.0 - red;
- magenta = 1.0 - green;
- yellow = 1.0 - blue;
-
- key = 1.0;
- if (cyan < key) key = cyan;
- if (magenta < key) key = magenta;
- if (yellow < key) key = yellow;
-
- key *= pullout;
-
- if (key < 1.0)
- {
- cyan = (cyan - key) / (1.0 - key);
- magenta = (magenta - key) / (1.0 - key);
- yellow = (yellow - key) / (1.0 - key);
- }
- else
- {
- cyan = 0.0;
- magenta = 0.0;
- yellow = 0.0;
- }
-
- ((double *) dst)[0] = 1.0-cyan;
- ((double *) dst)[1] = 1.0-magenta;
- ((double *) dst)[2] = 1.0-yellow;
- ((double *) dst)[3] = 1.0-key;
- ((double *) dst)[4] = alpha;
-
- src += 4 * sizeof (double);
- dst += 5 * sizeof (double);
- }
-}
-
-static void
-cmyka_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n)
-{
- while (n--)
- {
- double cyan = 1.0-((double *) src)[0];
- double magenta = 1.0-((double *) src)[1];
- double yellow = 1.0-((double *) src)[2];
- double key = 1.0-((double *) src)[3];
- double alpha = ((double *) src)[4];
-
- double red, green, blue;
-
- if (key < 1.0)
- {
- cyan = cyan * (1.0 - key) + key;
- magenta = magenta * (1.0 - key) + key;
- yellow = yellow * (1.0 - key) + key;
- }
- else
- {
- cyan = magenta = yellow = 1.0;
- }
-
- red = 1.0 - cyan;
- green = 1.0 - magenta;
- blue = 1.0 - yellow;
-
- ((double *) dst)[0] = (red);
- ((double *) dst)[1] = (green);
- ((double *) dst)[2] = (blue);
- ((double *) dst)[3] = alpha;
-
- src += 5 * sizeof (double);
- dst += 4 * sizeof (double);
- }
-}
-
-static void
-rgba_to_cmyk (const Babl *conversion,char *src,
- char *dst,
- long n)
-{
- while (n--)
- {
- double red = (((double *) src)[0]);
- double green = (((double *) src)[1]);
- double blue = (((double *) src)[2]);
-
- double cyan, magenta, yellow, key;
-
- double pullout = 1.0;
-
- cyan = 1.0 - red;
- magenta = 1.0 - green;
- yellow = 1.0 - blue;
-
- key = 1.0;
- if (cyan < key) key = cyan;
- if (magenta < key) key = magenta;
- if (yellow < key) key = yellow;
-
- key *= pullout;
-
- if (key < 1.0)
- {
- cyan = (cyan - key) / (1.0 - key);
- magenta = (magenta - key) / (1.0 - key);
- yellow = (yellow - key) / (1.0 - key);
- }
- else
- {
- cyan = 0.0;
- magenta = 0.0;
- yellow = 0.0;
- }
-
- ((double *) dst)[0] = 1.0-cyan;
- ((double *) dst)[1] = 1.0-magenta;
- ((double *) dst)[2] = 1.0-yellow;
- ((double *) dst)[3] = 1.0-key;
-
- src += 4 * sizeof (double);
- dst += 4 * sizeof (double);
- }
-}
-
-static void
-cmyk_to_rgba (const Babl *conversion,char *src,
- char *dst,
- long n)
-{
- while (n--)
- {
- double cyan = 1.0-((double *) src)[0];
- double magenta = 1.0-((double *) src)[1];
- double yellow = 1.0-((double *) src)[2];
- double key = 1.0-((double *) src)[3];
-
- double red, green, blue;
-
- if (key < 1.0)
- {
- cyan = cyan * (1.0 - key) + key;
- magenta = magenta * (1.0 - key) + key;
- yellow = yellow * (1.0 - key) + key;
- }
- else
- {
- cyan = magenta = yellow = 1.0;
- }
+ if (key < 1.0)
+ {
+ cyan = cyan * (1.0 - key) + key;
+ magenta = magenta * (1.0 - key) + key;
+ yellow = yellow * (1.0 - key) + key;
+ }
+ else
+ {
+ cyan = magenta = yellow = 1.0;
+ }
red = 1.0 - cyan;
green = 1.0 - magenta;
@@ -783,3 +460,343 @@ cmyka_to_cmyk (const Babl *conversion,char *src,
dst += 4 * sizeof (double);
}
}
+
+
+int init (void);
+
+int
+init (void)
+{
+ babl_component_new ("cyan", NULL);
+ babl_component_new ("yellow", NULL);
+ babl_component_new ("magenta", NULL);
+ babl_component_new ("key", NULL);
+
+
+ babl_component_new ("ca", NULL);
+ babl_component_new ("ma", NULL);
+ babl_component_new ("ya", NULL);
+ babl_component_new ("ka", NULL);
+
+
+ babl_component_new ("Cyan", NULL);
+ babl_component_new ("Yellow", NULL);
+ babl_component_new ("Magenta", NULL);
+ babl_component_new ("Key", NULL);
+
+
+ babl_component_new ("Ca", NULL);
+ babl_component_new ("Ma", NULL);
+ babl_component_new ("Yea", NULL);
+ babl_component_new ("Ka", NULL);
+
+ babl_model_new (
+ "name", "camayakaA",
+ babl_component ("ca"),
+ babl_component ("ma"),
+ babl_component ("ya"),
+ babl_component ("ka"),
+ babl_component ("A"),
+ NULL
+ );
+
+ babl_model_new (
+ "name", "cmykA",
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_model_new (
+ "name", "cmyk",
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ NULL
+ );
+ babl_model_new (
+ "name", "cmy",
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ NULL
+ );
+
+ babl_model_new (
+ "name", "CaMaYaKaA",
+ babl_component ("Ca"),
+ babl_component ("Ma"),
+ babl_component ("Yea"),
+ babl_component ("Ka"),
+ babl_component ("A"),
+ NULL
+ );
+
+ babl_model_new (
+ "name", "CMYKA",
+ babl_component ("Cyan"),
+ babl_component ("Magenta"),
+ babl_component ("Yellow"),
+ babl_component ("Key"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_model_new (
+ "name", "CMYK",
+ babl_component ("Cyan"),
+ babl_component ("Magenta"),
+ babl_component ("Yellow"),
+ babl_component ("Key"),
+ NULL
+ );
+ babl_model_new (
+ "name", "CMY",
+ babl_component ("Cyan"),
+ babl_component ("Magenta"),
+ babl_component ("Yellow"),
+ NULL
+ );
+
+
+ babl_conversion_new (
+ babl_model ("cmykA"),
+ babl_model ("cmyk"),
+ "linear", cmyka_to_cmyk,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("cmyk"),
+ babl_model ("cmykA"),
+ "linear", cmyk_to_cmyka,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("cmykA"),
+ babl_model ("camayakaA"),
+ "linear", cmyka_to_cmykA,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("camayakaA"),
+ babl_model ("cmykA"),
+ "linear", cmykA_to_cmyka,
+ NULL
+ );
+
+
+
+
+
+ babl_conversion_new (
+ babl_model ("RGBA"),
+ babl_model ("camayakaA"),
+ "linear", rgba_to_cmykA,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("camayakaA"),
+ babl_model ("RGBA"),
+ "linear", cmykA_to_rgba,
+ NULL
+ );
+
+ babl_conversion_new (
+ babl_model ("RGBA"),
+ babl_model ("cmykA"),
+ "linear", rgba_to_cmyka,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("cmykA"),
+ babl_model ("RGBA"),
+ "linear", cmyka_to_rgba,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("RGBA"),
+ babl_model ("cmyk"),
+ "linear", rgba_to_cmyk,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("cmyk"),
+ babl_model ("RGBA"),
+ "linear", cmyk_to_rgba,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("cmyk"),
+ babl_model ("cmykA"),
+ "linear", cmyk_to_cmyka,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("RGBA"),
+ babl_model ("cmy"),
+ "linear", rgba_to_cmy,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("cmy"),
+ babl_model ("RGBA"),
+ "linear", cmy_to_rgba,
+ NULL
+ );
+
+ babl_format_new (
+ "name", "camayakaA float",
+ babl_model ("camayakaA"),
+ babl_type ("float"),
+ babl_component ("ca"),
+ babl_component ("ma"),
+ babl_component ("ya"),
+ babl_component ("ka"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmykA float",
+ babl_model ("cmykA"),
+ babl_type ("float"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmyk float",
+ babl_model ("cmyk"),
+ babl_type ("float"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmy float",
+ babl_model ("cmy"),
+ babl_type ("float"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ NULL
+ );
+
+ babl_format_new (
+ "name", "cmyk u8",
+ babl_model ("cmyk"),
+ babl_type ("u8"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmykA u8",
+ babl_model ("cmykA"),
+ babl_type ("u8"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ babl_component ("A"),
+ NULL
+ );
+
+ babl_format_new (
+ "name", "cmyk u16",
+ babl_model ("cmyk"),
+ babl_type ("u16"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmykA u16",
+ babl_model ("cmykA"),
+ babl_type ("u16"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmyk u32",
+ babl_model ("cmyk"),
+ babl_type ("u32"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmykA u32",
+ babl_model ("cmykA"),
+ babl_type ("u32"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ babl_component ("A"),
+ NULL
+ );
+
+ babl_format_new (
+ "name", "cmyk float",
+ babl_model ("cmyk"),
+ babl_type ("float"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ NULL
+ );
+ babl_format_new (
+ "name", "cmykA float",
+ babl_model ("cmykA"),
+ babl_type ("float"),
+ babl_component ("cyan"),
+ babl_component ("magenta"),
+ babl_component ("yellow"),
+ babl_component ("key"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_format_new (
+ "name", "camayakaA u16",
+ babl_model ("camayakaA"),
+ babl_type ("u16"),
+ babl_component ("ca"),
+ babl_component ("ma"),
+ babl_component ("ya"),
+ babl_component ("ka"),
+ babl_component ("A"),
+ NULL
+ );
+ babl_format_new (
+ "name", "camayakaA half",
+ babl_model ("camayakaA"),
+ babl_type ("half"),
+ babl_component ("ca"),
+ babl_component ("ma"),
+ babl_component ("ya"),
+ babl_component ("ka"),
+ babl_component ("A"),
+ NULL
+ );
+
+ return 0;
+}
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]