[gimp] Argh, this was meant to be squashed into the previous commit...
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] Argh, this was meant to be squashed into the previous commit...
- Date: Thu, 26 May 2016 20:19:34 +0000 (UTC)
commit 0bfa402c1a11ffddf9d36392b585ad66eac6d78e
Author: Michael Natterer <mitch gimp org>
Date: Thu May 26 22:18:50 2016 +0200
Argh, this was meant to be squashed into the previous commit...
app/Makefile.am | 1 -
app/config/Makefile.am | 1 -
app/core/Makefile.am | 3 +-
app/core/gimpimage-color-profile.c | 22 ++++----
app/dialogs/Makefile.am | 1 -
app/display/gimpdisplayshell-profile.c | 2 -
app/gegl/Makefile.am | 1 -
app/gegl/gimp-gegl-loops.c | 14 ++---
app/operations/Makefile.am | 1 -
app/operations/gimpoperationprofiletransform.c | 9 +--
app/tests/Makefile.am | 1 -
app/widgets/Makefile.am | 1 -
app/widgets/gimpviewrenderer.c | 2 -
libgimpcolor/gimpcolortransform.c | 6 +-
libgimpcolor/gimpcolortransform.h | 11 +++-
libgimpwidgets/gimpcolorarea.c | 2 -
libgimpwidgets/gimppreviewarea.c | 1 -
libgimpwidgets/gimpwidgetsutils.c | 14 ++--
modules/Makefile.am | 13 +---
modules/color-selector-cmyk.c | 75 +++++++++++++-----------
modules/display-filter-lcms.c | 8 ---
modules/display-filter-proof.c | 62 ++++++++------------
22 files changed, 106 insertions(+), 145 deletions(-)
---
diff --git a/app/Makefile.am b/app/Makefile.am
index acd124f..2aa0db9 100644
--- a/app/Makefile.am
+++ b/app/Makefile.am
@@ -164,7 +164,6 @@ gimpconsoleldadd = \
$(GEGL_LIBS) \
$(GLIB_LIBS) \
$(GEXIV2_LIBS) \
- $(LCMS_LIBS) \
$(Z_LIBS) \
$(JSON_C_LIBS) \
$(LIBMYPAINT_LIBS) \
diff --git a/app/config/Makefile.am b/app/config/Makefile.am
index 5afcf28..9e177c1 100644
--- a/app/config/Makefile.am
+++ b/app/config/Makefile.am
@@ -110,7 +110,6 @@ test_config_LDADD = \
$(libgimpmath) \
$(libgimpconfig) \
$(libgimpbase) \
- $(LCMS_LIBS) \
$(PANGOCAIRO_LIBS) \
$(HARFBUZZ_LIBS) \
$(GDK_PIXBUF_LIBS) \
diff --git a/app/core/Makefile.am b/app/core/Makefile.am
index 5f9081d..a6f077c 100644
--- a/app/core/Makefile.am
+++ b/app/core/Makefile.am
@@ -16,9 +16,8 @@ AM_CPPFLAGS = \
$(CAIRO_CFLAGS) \
$(GEGL_CFLAGS) \
$(GDK_PIXBUF_CFLAGS) \
- $(LIBMYPAINT_CFLAGS) \
+ $(LIBMYPAINT_CFLAGS) \
$(GEXIV2_CFLAGS) \
- $(LCMS_CFLAGS) \
-I$(includedir) \
$(xobjective_c)
diff --git a/app/core/gimpimage-color-profile.c b/app/core/gimpimage-color-profile.c
index 5c4ffc2..50e90d6 100644
--- a/app/core/gimpimage-color-profile.c
+++ b/app/core/gimpimage-color-profile.c
@@ -21,7 +21,6 @@
#include "config.h"
#include <string.h>
-#include <lcms2.h>
#include <cairo.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
@@ -664,13 +663,12 @@ _gimp_image_update_color_profile (GimpImage *image,
if (private->color_profile)
{
- GimpColorProfile *srgb_profile;
- cmsUInt32Number flags;
+ GimpColorProfile *srgb_profile;
+ GimpColorTransformFlags flags = 0;
srgb_profile = gimp_color_profile_new_rgb_srgb ();
- flags = cmsFLAGS_NOOPTIMIZE;
- flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
private->transform_to_srgb_u8 =
gimp_color_transform_new (private->color_profile,
@@ -785,20 +783,22 @@ gimp_image_convert_profile_colormap (GimpImage *image,
gboolean bpc,
GimpProgress *progress)
{
- GimpColorTransform *transform;
- guchar *cmap;
- gint n_colors;
+ GimpColorTransform *transform;
+ GimpColorTransformFlags flags = 0;
+ guchar *cmap;
+ gint n_colors;
n_colors = gimp_image_get_colormap_size (image);
cmap = g_memdup (gimp_image_get_colormap (image), n_colors * 3);
+ if (bpc)
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
+
transform = gimp_color_transform_new (src_profile,
babl_format ("R'G'B' u8"),
dest_profile,
babl_format ("R'G'B' u8"),
- intent,
- cmsFLAGS_NOOPTIMIZE |
- (bpc ? cmsFLAGS_BLACKPOINTCOMPENSATION : 0));
+ intent, flags);
if (transform)
{
diff --git a/app/dialogs/Makefile.am b/app/dialogs/Makefile.am
index 9160631..365ce2d 100644
--- a/app/dialogs/Makefile.am
+++ b/app/dialogs/Makefile.am
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/app \
-I$(top_srcdir)/app \
- $(LCMS_CFLAGS) \
$(GEGL_CFLAGS) \
$(GTK_CFLAGS) \
-I$(includedir)
diff --git a/app/display/gimpdisplayshell-profile.c b/app/display/gimpdisplayshell-profile.c
index 7128d25..0187229 100644
--- a/app/display/gimpdisplayshell-profile.c
+++ b/app/display/gimpdisplayshell-profile.c
@@ -17,8 +17,6 @@
#include "config.h"
-#include <lcms2.h>
-
#include <gegl.h>
#include <gtk/gtk.h>
diff --git a/app/gegl/Makefile.am b/app/gegl/Makefile.am
index 95daef9..8ec70dc 100644
--- a/app/gegl/Makefile.am
+++ b/app/gegl/Makefile.am
@@ -9,7 +9,6 @@ AM_CPPFLAGS = \
$(CAIRO_CFLAGS) \
$(GEGL_CFLAGS) \
$(GDK_PIXBUF_CFLAGS) \
- $(LCMS_CFLAGS) \
-I$(includedir)
noinst_LIBRARIES = libappgegl.a
diff --git a/app/gegl/gimp-gegl-loops.c b/app/gegl/gimp-gegl-loops.c
index 673621c..9275e4c 100644
--- a/app/gegl/gimp-gegl-loops.c
+++ b/app/gegl/gimp-gegl-loops.c
@@ -20,8 +20,6 @@
#include "config.h"
-#include <lcms2.h>
-
#include <cairo.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gegl.h>
@@ -710,10 +708,10 @@ gimp_gegl_convert_color_profile (GeglBuffer *src_buffer,
gboolean bpc,
GimpProgress *progress)
{
- GimpColorTransform *transform;
- const Babl *src_format;
- const Babl *dest_format;
- cmsUInt32Number flags;
+ GimpColorTransform *transform;
+ GimpColorTransformFlags flags = 0;
+ const Babl *src_format;
+ const Babl *dest_format;
src_format = gegl_buffer_get_format (src_buffer);
dest_format = gegl_buffer_get_format (dest_buffer);
@@ -725,10 +723,8 @@ gimp_gegl_convert_color_profile (GeglBuffer *src_buffer,
return;
}
- flags = cmsFLAGS_NOOPTIMIZE;
-
if (bpc)
- flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
transform = gimp_color_transform_new (src_profile, src_format,
dest_profile, dest_format,
diff --git a/app/operations/Makefile.am b/app/operations/Makefile.am
index 5cd9bf0..75e917e 100644
--- a/app/operations/Makefile.am
+++ b/app/operations/Makefile.am
@@ -10,7 +10,6 @@ AM_CPPFLAGS = \
$(CAIRO_CFLAGS) \
$(GEGL_CFLAGS) \
$(GDK_PIXBUF_CFLAGS) \
- $(LCMS_CFLAGS) \
-I$(includedir)
noinst_LIBRARIES = \
diff --git a/app/operations/gimpoperationprofiletransform.c b/app/operations/gimpoperationprofiletransform.c
index 55b0ad6..5696e10 100644
--- a/app/operations/gimpoperationprofiletransform.c
+++ b/app/operations/gimpoperationprofiletransform.c
@@ -16,18 +16,13 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * Ported from the threshold-alpha plug-in
- * Copyright (C) 1997 Shuji Narazaki <narazaki InetQ or jp>
*/
#include "config.h"
#include <cairo.h>
-#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gegl.h>
-#include <lcms2.h>
#include "libgimpconfig/gimpconfig.h"
#include "libgimpcolor/gimpcolor.h"
@@ -250,10 +245,10 @@ gimp_operation_profile_transform_prepare (GeglOperation *operation)
if (self->src_profile && self->dest_profile)
{
- cmsUInt32Number flags = cmsFLAGS_NOOPTIMIZE;
+ GimpColorTransformFlags flags = 0;
if (self->bpc)
- flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
self->transform = gimp_color_transform_new (self->src_profile, format,
self->dest_profile, format,
diff --git a/app/tests/Makefile.am b/app/tests/Makefile.am
index 15cc18a..430c7c3 100644
--- a/app/tests/Makefile.am
+++ b/app/tests/Makefile.am
@@ -122,7 +122,6 @@ LDADD = \
$(GEGL_LIBS) \
$(GIO_LIBS) \
$(GEXIV2_LIBS) \
- $(LCMS_LIBS) \
$(Z_LIBS) \
$(JSON_C_LIBS) \
$(LIBMYPAINT_LIBS) \
diff --git a/app/widgets/Makefile.am b/app/widgets/Makefile.am
index 021d143..3fc7dde 100644
--- a/app/widgets/Makefile.am
+++ b/app/widgets/Makefile.am
@@ -8,7 +8,6 @@ AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/app \
-I$(top_srcdir)/app \
- $(LCMS_CFLAGS) \
$(GEGL_CFLAGS) \
$(GTK_CFLAGS) \
-I$(includedir)
diff --git a/app/widgets/gimpviewrenderer.c b/app/widgets/gimpviewrenderer.c
index 2144809..ce920c9 100644
--- a/app/widgets/gimpviewrenderer.c
+++ b/app/widgets/gimpviewrenderer.c
@@ -23,8 +23,6 @@
#include <string.h>
-#include <lcms2.h>
-
#include <gegl.h>
#include <gtk/gtk.h>
diff --git a/libgimpcolor/gimpcolortransform.c b/libgimpcolor/gimpcolortransform.c
index 986fbcb..310e5f4 100644
--- a/libgimpcolor/gimpcolortransform.c
+++ b/libgimpcolor/gimpcolortransform.c
@@ -165,7 +165,7 @@ gimp_color_transform_new (GimpColorProfile *src_profile,
GimpColorProfile *dest_profile,
const Babl *dest_format,
GimpColorRenderingIntent rendering_intent,
- guint32 flags)
+ GimpColorTransformFlags flags)
{
GimpColorTransform *transform;
GimpColorTransformPrivate *priv;
@@ -194,7 +194,7 @@ gimp_color_transform_new (GimpColorProfile *src_profile,
priv->transform = cmsCreateTransform (src_lcms, lcms_src_format,
dest_lcms, lcms_dest_format,
rendering_intent,
- flags);
+ flags | cmsFLAGS_NOOPTIMIZE);
return transform;
}
@@ -224,7 +224,7 @@ gimp_color_transform_new_proofing (GimpColorProfile *src_profile,
GimpColorProfile *proof_profile,
GimpColorRenderingIntent proof_intent,
GimpColorRenderingIntent display_intent,
- guint32 flags)
+ GimpColorTransformFlags flags)
{
GimpColorTransform *transform;
GimpColorTransformPrivate *priv;
diff --git a/libgimpcolor/gimpcolortransform.h b/libgimpcolor/gimpcolortransform.h
index c4a9230..cb6bee0 100644
--- a/libgimpcolor/gimpcolortransform.h
+++ b/libgimpcolor/gimpcolortransform.h
@@ -32,6 +32,13 @@ G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
+typedef enum
+{
+ GIMP_COLOR_TRANSFORM_FLAGS_GAMUT_CHECK = 0x1000,
+ GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION = 0x2000,
+} GimpColorTransformFlags;
+
+
#define GIMP_TYPE_COLOR_TRANSFORM (gimp_color_transform_get_type ())
#define GIMP_COLOR_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_COLOR_TRANSFORM,
GimpColorTransform))
#define GIMP_COLOR_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_COLOR_TRANSFORM,
GimpColorTransformClass))
@@ -74,7 +81,7 @@ GimpColorTransform *
GimpColorProfile *dest_profile,
const Babl *dest_format,
GimpColorRenderingIntent rendering_intent,
- guint32 flags);
+ GimpColorTransformFlags flags);
GimpColorTransform *
gimp_color_transform_new_proofing (GimpColorProfile *src_profile,
@@ -84,7 +91,7 @@ GimpColorTransform *
GimpColorProfile *proof_profile,
GimpColorRenderingIntent proof_intent,
GimpColorRenderingIntent display_intent,
- guint32 flags);
+ GimpColorTransformFlags flags);
void gimp_color_transform_process_pixels (GimpColorTransform *transform,
const Babl *src_format,
diff --git a/libgimpwidgets/gimpcolorarea.c b/libgimpwidgets/gimpcolorarea.c
index b75deb4..a4612b9 100644
--- a/libgimpwidgets/gimpcolorarea.c
+++ b/libgimpwidgets/gimpcolorarea.c
@@ -21,8 +21,6 @@
#include "config.h"
-#include <lcms2.h>
-
#include <gegl.h>
#include <gtk/gtk.h>
diff --git a/libgimpwidgets/gimppreviewarea.c b/libgimpwidgets/gimppreviewarea.c
index 6f53dbf..62514a4 100644
--- a/libgimpwidgets/gimppreviewarea.c
+++ b/libgimpwidgets/gimppreviewarea.c
@@ -19,7 +19,6 @@
#include "config.h"
#include <string.h>
-#include <lcms2.h>
#include <gegl.h>
#include <gtk/gtk.h>
diff --git a/libgimpwidgets/gimpwidgetsutils.c b/libgimpwidgets/gimpwidgetsutils.c
index 8a3dfcb..659e7bd 100644
--- a/libgimpwidgets/gimpwidgetsutils.c
+++ b/libgimpwidgets/gimpwidgetsutils.c
@@ -513,18 +513,18 @@ gimp_widget_get_color_transform (GtkWidget *widget,
if (proof_profile)
{
- cmsUInt32Number softproof_flags = cmsFLAGS_SOFTPROOFING;
+ GimpColorTransformFlags flags = 0;
if (config->simulation_use_black_point_compensation)
{
- softproof_flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
}
if (config->simulation_gamut_check)
{
guchar r, g, b;
- softproof_flags |= cmsFLAGS_GAMUTCHECK;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_GAMUT_CHECK;
gimp_rgb_get_uchar (&config->out_of_gamut_color, &r, &g, &b);
@@ -540,23 +540,23 @@ gimp_widget_get_color_transform (GtkWidget *widget,
proof_profile,
config->simulation_intent,
config->display_intent,
- softproof_flags);
+ flags);
g_object_unref (proof_profile);
}
else if (! gimp_color_profile_is_equal (src_profile, dest_profile))
{
- guint32 display_flags = 0;
+ GimpColorTransformFlags flags = 0;
if (config->display_use_black_point_compensation)
{
- display_flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
}
transform = gimp_color_transform_new (src_profile, src_format,
dest_profile, dest_format,
config->display_intent,
- display_flags);
+ flags);
}
g_object_unref (dest_profile);
diff --git a/modules/Makefile.am b/modules/Makefile.am
index c097cd2..0651b31 100644
--- a/modules/Makefile.am
+++ b/modules/Makefile.am
@@ -53,8 +53,7 @@ controller_libadd = $(modules_libadd)
libcolor_selector_cmyk_la_SOURCES = color-selector-cmyk.c
libcolor_selector_cmyk_la_LDFLAGS = -avoid-version -module $(no_undefined)
-libcolor_selector_cmyk_la_CFLAGS = $(LCMS_CFLAGS)
-libcolor_selector_cmyk_la_LIBADD = $(libgimpconfig) $(color_selector_libadd) $(LCMS_LIBS)
+libcolor_selector_cmyk_la_LIBADD = $(libgimpconfig) $(color_selector_libadd)
libcolor_selector_water_la_SOURCES = color-selector-water.c
libcolor_selector_water_la_LDFLAGS = -avoid-version -module $(no_undefined)
@@ -77,18 +76,12 @@ libdisplay_filter_high_contrast_la_LDFLAGS = -avoid-version -module $(no_undefin
libdisplay_filter_high_contrast_la_LIBADD = $(display_filter_libadd)
libdisplay_filter_lcms_la_SOURCES = display-filter-lcms.c
-libdisplay_filter_lcms_la_CFLAGS = $(LCMS_CFLAGS)
libdisplay_filter_lcms_la_LDFLAGS = -avoid-version -module $(no_undefined)
-libdisplay_filter_lcms_la_LIBADD = $(display_filter_libadd) $(LCMS_LIBS)
-
-if PLATFORM_WIN32
-libdisplay_filter_lcms_la_LIBADD += -lgdi32
-endif
+libdisplay_filter_lcms_la_LIBADD = $(display_filter_libadd)
libdisplay_filter_proof_la_SOURCES = display-filter-proof.c
-libdisplay_filter_proof_la_CFLAGS = $(LCMS_CFLAGS)
libdisplay_filter_proof_la_LDFLAGS = -avoid-version -module $(no_undefined)
-libdisplay_filter_proof_la_LIBADD = $(display_filter_libadd) $(LCMS_LIBS)
+libdisplay_filter_proof_la_LIBADD = $(display_filter_libadd)
libcontroller_linux_input_la_SOURCES = \
gimpinputdevicestore-gudev.c \
diff --git a/modules/color-selector-cmyk.c b/modules/color-selector-cmyk.c
index e8b156c..418089e 100644
--- a/modules/color-selector-cmyk.c
+++ b/modules/color-selector-cmyk.c
@@ -17,8 +17,6 @@
#include "config.h"
-#include <lcms2.h>
-
#include <gegl.h>
#include <gtk/gtk.h>
@@ -44,17 +42,17 @@ typedef struct _ColorselCmykClass ColorselCmykClass;
struct _ColorselCmyk
{
- GimpColorSelector parent_instance;
+ GimpColorSelector parent_instance;
- GimpColorConfig *config;
- cmsHTRANSFORM rgb2cmyk;
- cmsHTRANSFORM cmyk2rgb;
+ GimpColorConfig *config;
+ GimpColorTransform *rgb2cmyk;
+ GimpColorTransform *cmyk2rgb;
- GimpCMYK cmyk;
- GtkAdjustment *adj[4];
- GtkWidget *name_label;
+ GimpCMYK cmyk;
+ GtkAdjustment *adj[4];
+ GtkWidget *name_label;
- gboolean in_destruction;
+ gboolean in_destruction;
};
struct _ColorselCmykClass
@@ -228,7 +226,12 @@ colorsel_cmyk_set_color (GimpColorSelector *selector,
rgb_values[1] = rgb->g;
rgb_values[2] = rgb->b;
- cmsDoTransform (module->rgb2cmyk, rgb_values, cmyk_values, 1);
+ gimp_color_transform_process_pixels (module->rgb2cmyk,
+ babl_format ("R'G'B' double"),
+ rgb_values,
+ babl_format ("CMYK double"),
+ cmyk_values,
+ 1);
module->cmyk.c = cmyk_values[0] / 100.0;
module->cmyk.m = cmyk_values[1] / 100.0;
@@ -331,7 +334,12 @@ colorsel_cmyk_adj_update (GtkAdjustment *adj,
cmyk_values[2] = module->cmyk.y * 100.0;
cmyk_values[3] = module->cmyk.k * 100.0;
- cmsDoTransform (module->cmyk2rgb, cmyk_values, rgb_values, 1);
+ gimp_color_transform_process_pixels (module->rgb2cmyk,
+ babl_format ("CMYK double"),
+ cmyk_values,
+ babl_format ("R'G'B' double"),
+ rgb_values,
+ 1);
selector->rgb.r = rgb_values[0];
selector->rgb.g = rgb_values[1];
@@ -350,24 +358,22 @@ colorsel_cmyk_adj_update (GtkAdjustment *adj,
static void
colorsel_cmyk_config_changed (ColorselCmyk *module)
{
- GimpColorSelector *selector = GIMP_COLOR_SELECTOR (module);
- GimpColorConfig *config = module->config;
- cmsUInt32Number flags = 0;
- GimpColorProfile *rgb_profile = NULL;
- GimpColorProfile *cmyk_profile = NULL;
- cmsHPROFILE rgb_lcms;
- cmsHPROFILE cmyk_lcms;
- gchar *text;
+ GimpColorSelector *selector = GIMP_COLOR_SELECTOR (module);
+ GimpColorConfig *config = module->config;
+ GimpColorTransformFlags flags = 0;
+ GimpColorProfile *rgb_profile = NULL;
+ GimpColorProfile *cmyk_profile = NULL;
+ gchar *text;
if (module->rgb2cmyk)
{
- cmsDeleteTransform (module->rgb2cmyk);
+ g_object_unref (module->rgb2cmyk);
module->rgb2cmyk = NULL;
}
if (module->cmyk2rgb)
{
- cmsDeleteTransform (module->cmyk2rgb);
+ g_object_unref (module->cmyk2rgb);
module->cmyk2rgb = NULL;
}
@@ -392,23 +398,24 @@ colorsel_cmyk_config_changed (ColorselCmyk *module)
gimp_color_profile_get_summary (cmyk_profile),
NULL);
- rgb_lcms = gimp_color_profile_get_lcms_profile (rgb_profile);
- cmyk_lcms = gimp_color_profile_get_lcms_profile (cmyk_profile);
-
if (config->display_intent ==
GIMP_COLOR_RENDERING_INTENT_RELATIVE_COLORIMETRIC)
{
- flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
}
- module->rgb2cmyk = cmsCreateTransform (rgb_lcms, TYPE_RGB_DBL,
- cmyk_lcms, TYPE_CMYK_DBL,
- config->display_intent,
- flags);
- module->cmyk2rgb = cmsCreateTransform (cmyk_lcms, TYPE_CMYK_DBL,
- rgb_lcms, TYPE_RGB_DBL,
- config->display_intent,
- flags);
+ module->rgb2cmyk = gimp_color_transform_new (rgb_profile,
+ babl_format ("R'G'B' double"),
+ cmyk_profile,
+ babl_format ("CMYK double"),
+ config->display_intent,
+ flags);
+ module->cmyk2rgb = gimp_color_transform_new (cmyk_profile,
+ babl_format ("CMYK double"),
+ rgb_profile,
+ babl_format ("R'G'B' double"),
+ config->display_intent,
+ flags);
out:
diff --git a/modules/display-filter-lcms.c b/modules/display-filter-lcms.c
index 0b41b10..a20ddee 100644
--- a/modules/display-filter-lcms.c
+++ b/modules/display-filter-lcms.c
@@ -21,14 +21,6 @@
#include <string.h>
-#ifdef G_OS_WIN32
-#define STRICT
-#include <windows.h>
-#define LCMS_WIN_TYPES_ALREADY_DEFINED
-#endif
-
-#include <lcms2.h>
-
#include <gegl.h>
#include <gtk/gtk.h>
diff --git a/modules/display-filter-proof.c b/modules/display-filter-proof.c
index ae08781..ade18e3 100644
--- a/modules/display-filter-proof.c
+++ b/modules/display-filter-proof.c
@@ -17,8 +17,6 @@
#include "config.h"
-#include <lcms2.h>
-
#include <gegl.h>
#include <gtk/gtk.h>
@@ -43,13 +41,13 @@ typedef struct _CdisplayProofClass CdisplayProofClass;
struct _CdisplayProof
{
- GimpColorDisplay parent_instance;
+ GimpColorDisplay parent_instance;
- gint intent;
- gboolean bpc;
- gchar *profile;
+ gint intent;
+ gboolean bpc;
+ gchar *profile;
- cmsHTRANSFORM transform;
+ GimpColorTransform *transform;
};
struct _CdisplayProofClass
@@ -182,7 +180,7 @@ cdisplay_proof_finalize (GObject *object)
if (proof->transform)
{
- cmsDeleteTransform (proof->transform);
+ g_object_unref (proof->transform);
proof->transform = NULL;
}
@@ -247,22 +245,12 @@ cdisplay_proof_convert_buffer (GimpColorDisplay *display,
GeglBuffer *buffer,
GeglRectangle *area)
{
- CdisplayProof *proof = CDISPLAY_PROOF (display);
- GeglBufferIterator *iter;
-
- if (! proof->transform)
- return;
-
- iter = gegl_buffer_iterator_new (buffer, area, 0,
- babl_format ("R'G'B'A float"),
- GEGL_ACCESS_READWRITE, GEGL_ABYSS_NONE);
-
- while (gegl_buffer_iterator_next (iter))
- {
- gfloat *data = iter->data[0];
+ CdisplayProof *proof = CDISPLAY_PROOF (display);
- cmsDoTransform (proof->transform, data, data, iter->length);
- }
+ if (proof->transform)
+ gimp_color_transform_process_buffer (proof->transform,
+ buffer, area,
+ buffer, area);
}
static void
@@ -351,7 +339,7 @@ cdisplay_proof_changed (GimpColorDisplay *display)
if (proof->transform)
{
- cmsDeleteTransform (proof->transform);
+ g_object_unref (proof->transform);
proof->transform = NULL;
}
@@ -366,22 +354,20 @@ cdisplay_proof_changed (GimpColorDisplay *display)
if (proof_profile)
{
- cmsHPROFILE rgb_lcms;
- cmsHPROFILE proof_lcms;
- cmsUInt32Number flags = cmsFLAGS_SOFTPROOFING;
-
- rgb_lcms = gimp_color_profile_get_lcms_profile (rgb_profile);
- proof_lcms = gimp_color_profile_get_lcms_profile (proof_profile);
+ GimpColorTransformFlags flags = 0;
if (proof->bpc)
- flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
-
- proof->transform = cmsCreateProofingTransform (rgb_lcms, TYPE_RGBA_FLT,
- rgb_lcms, TYPE_RGBA_FLT,
- proof_lcms,
- proof->intent,
- proof->intent,
- flags);
+ flags |= GIMP_COLOR_TRANSFORM_FLAGS_BLACK_POINT_COMPENSATION;
+
+ proof->transform =
+ gimp_color_transform_new_proofing (rgb_profile,
+ babl_format ("R'G'B'A float"),
+ rgb_profile,
+ babl_format ("R'G'B'A float"),
+ proof_profile,
+ proof->intent,
+ proof->intent,
+ flags);
g_object_unref (proof_profile);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]