summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon A. Cruz <jon@joncruz.org>2011-07-10 07:13:05 +0000
committerJon A. Cruz <jon@joncruz.org>2011-07-10 07:13:05 +0000
commitdf7bda1a8b9d4a1c6f0fd4b82cdeb614eb1ea8d2 (patch)
tree7e530343b12dd9ec752c6171c82f6108714c9acf
parentMerge upstream GDL: GNOME_2_30_0 (diff)
downloadinkscape-df7bda1a8b9d4a1c6f0fd4b82cdeb614eb1ea8d2.tar.gz
inkscape-df7bda1a8b9d4a1c6f0fd4b82cdeb614eb1ea8d2.zip
Refactored to abstract lcms usage more. Added CMSSystem class.
(bzr r10437)
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/Makefile_insert3
-rw-r--r--src/cms-system.h60
-rw-r--r--src/color-profile-fns.h60
-rw-r--r--src/color-profile.cpp31
-rw-r--r--src/color-profile.h1
-rw-r--r--src/display/sp-canvas.cpp10
-rw-r--r--src/sp-image.cpp10
-rw-r--r--src/svg/svg-color.cpp17
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp15
-rw-r--r--src/widgets/desktop-widget.cpp8
-rw-r--r--src/widgets/sp-color-icc-selector.cpp10
-rw-r--r--src/widgets/sp-color-notebook.cpp10
13 files changed, 124 insertions, 113 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 11a307037..038e7bb73 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -307,7 +307,7 @@ set(inkscape_SRC
box3d-side.h
box3d.h
cms-color-types.h
- color-profile-fns.h
+ cms-system.h
color-profile-cms-fns.h
color-profile-test.h
color-profile.h
diff --git a/src/Makefile_insert b/src/Makefile_insert
index d4f96fc87..2cb689740 100644
--- a/src/Makefile_insert
+++ b/src/Makefile_insert
@@ -13,9 +13,10 @@ ink_common_sources += \
box3d-side.cpp box3d-side.h \
brokenimage.xpm \
cms-color-types.h \
+ cms-system.h \
color.cpp color.h \
color-profile.cpp color-profile.h \
- color-profile-fns.h color-profile-cms-fns.h \
+ color-profile-cms-fns.h \
color-rgba.h \
common-context.cpp common-context.h \
composite-undo-stack-observer.cpp \
diff --git a/src/cms-system.h b/src/cms-system.h
new file mode 100644
index 000000000..1f75f8619
--- /dev/null
+++ b/src/cms-system.h
@@ -0,0 +1,60 @@
+#ifndef SEEN_COLOR_PROFILE_FNS_H
+#define SEEN_COLOR_PROFILE_FNS_H
+
+/** \file
+ * Macros and fn declarations related to linear gradients.
+ */
+
+#include <glib-object.h>
+#include <glib/gtypes.h>
+#include <vector>
+#include <glibmm/ustring.h>
+#include "cms-color-types.h"
+
+class SPDocument;
+
+namespace Inkscape {
+
+class ColorProfile;
+
+class CMSSystem {
+public:
+ static cmsHPROFILE getHandle( SPDocument* document, guint* intent, gchar const* name );
+
+ static cmsHTRANSFORM getDisplayTransform();
+
+ static Glib::ustring getDisplayId( int screen, int monitor );
+
+ static Glib::ustring setDisplayPer( gpointer buf, guint bufLen, int screen, int monitor );
+
+ static cmsHTRANSFORM getDisplayPer( Glib::ustring const& id );
+
+ static std::vector<Glib::ustring> getDisplayNames();
+
+ static std::vector<Glib::ustring> getSoftproofNames();
+
+ static Glib::ustring getPathForProfile(Glib::ustring const& name);
+
+ static void doTransform(cmsHTRANSFORM transform, void *inBuf, void *outBuf, unsigned int size);
+
+ static bool isPrintColorSpace(ColorProfile const *profile);
+
+ static gint getChannelCount(ColorProfile const *profile);
+};
+
+
+} // namespace Inkscape
+
+
+#endif // !SEEN_COLOR_PROFILE_FNS_H
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/color-profile-fns.h b/src/color-profile-fns.h
deleted file mode 100644
index 0588ce89e..000000000
--- a/src/color-profile-fns.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef SEEN_COLOR_PROFILE_FNS_H
-#define SEEN_COLOR_PROFILE_FNS_H
-
-/** \file
- * Macros and fn declarations related to linear gradients.
- */
-
-#include <glib-object.h>
-#include <glib/gtypes.h>
-#if ENABLE_LCMS
-#include <vector>
-#include <glibmm/ustring.h>
-#endif // ENABLE_LCMS
-#include "cms-color-types.h"
-
-class SPDocument;
-
-namespace Inkscape {
-
-namespace XML {
-class Node;
-} // namespace XML
-
-class ColorProfile;
-
-#if ENABLE_LCMS
-
-cmsHPROFILE colorprofile_get_handle( SPDocument* document, guint* intent, gchar const* name );
-cmsHTRANSFORM colorprofile_get_display_transform();
-
-Glib::ustring colorprofile_get_display_id( int screen, int monitor );
-Glib::ustring colorprofile_set_display_per( gpointer buf, guint bufLen, int screen, int monitor );
-cmsHTRANSFORM colorprofile_get_display_per( Glib::ustring const& id );
-
-std::vector<Glib::ustring> colorprofile_get_display_names();
-std::vector<Glib::ustring> colorprofile_get_softproof_names();
-
-Glib::ustring get_path_for_profile(Glib::ustring const& name);
-
-void colorprofile_cmsDoTransform(cmsHTRANSFORM transform, void *inBuf, void *outBuf, unsigned int size);
-
-bool colorprofile_isPrintColorSpace(ColorProfile const *profile);
-
-#endif // ENABLE_LCMS
-
-} // namespace Inkscape
-
-
-#endif // !SEEN_COLOR_PROFILE_FNS_H
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/color-profile.cpp b/src/color-profile.cpp
index 4bc37fdf8..f858f7f70 100644
--- a/src/color-profile.cpp
+++ b/src/color-profile.cpp
@@ -31,7 +31,7 @@
#include "xml/repr.h"
#include "color.h"
#include "color-profile.h"
-#include "color-profile-fns.h"
+#include "cms-system.h"
#include "color-profile-cms-fns.h"
#include "attributes.h"
#include "inkscape.h"
@@ -552,7 +552,7 @@ static SPObject* bruteFind( SPDocument* document, gchar const* name )
return result;
}
-cmsHPROFILE Inkscape::colorprofile_get_handle( SPDocument* document, guint* intent, gchar const* name )
+cmsHPROFILE Inkscape::CMSSystem::getHandle( SPDocument* document, guint* intent, gchar const* name )
{
cmsHPROFILE prof = 0;
@@ -652,7 +652,7 @@ ProfileInfo::ProfileInfo( cmsHPROFILE prof, Glib::ustring const & path )
static std::vector<ProfileInfo> knownProfiles;
-std::vector<Glib::ustring> Inkscape::colorprofile_get_display_names()
+std::vector<Glib::ustring> Inkscape::CMSSystem::getDisplayNames()
{
loadProfiles();
std::vector<Glib::ustring> result;
@@ -666,7 +666,7 @@ std::vector<Glib::ustring> Inkscape::colorprofile_get_display_names()
return result;
}
-std::vector<Glib::ustring> Inkscape::colorprofile_get_softproof_names()
+std::vector<Glib::ustring> Inkscape::CMSSystem::getSoftproofNames()
{
loadProfiles();
std::vector<Glib::ustring> result;
@@ -680,7 +680,7 @@ std::vector<Glib::ustring> Inkscape::colorprofile_get_softproof_names()
return result;
}
-Glib::ustring Inkscape::get_path_for_profile(Glib::ustring const& name)
+Glib::ustring Inkscape::CMSSystem::getPathForProfile(Glib::ustring const& name)
{
loadProfiles();
Glib::ustring result;
@@ -695,12 +695,12 @@ Glib::ustring Inkscape::get_path_for_profile(Glib::ustring const& name)
return result;
}
-void Inkscape::colorprofile_cmsDoTransform(cmsHTRANSFORM transform, void *inBuf, void *outBuf, unsigned int size)
+void Inkscape::CMSSystem::doTransform(cmsHTRANSFORM transform, void *inBuf, void *outBuf, unsigned int size)
{
cmsDoTransform(transform, inBuf, outBuf, size);
}
-bool Inkscape::colorprofile_isPrintColorSpace(ColorProfile const *profile)
+bool Inkscape::CMSSystem::isPrintColorSpace(ColorProfile const *profile)
{
bool isPrint = false;
if ( profile ) {
@@ -710,6 +710,15 @@ bool Inkscape::colorprofile_isPrintColorSpace(ColorProfile const *profile)
return isPrint;
}
+gint Inkscape::CMSSystem::getChannelCount(ColorProfile const *profile)
+{
+ gint count = 0;
+ if ( profile ) {
+ count = _cmsChannelsOf( asICColorSpaceSig(profile->getColorSpace()) );
+ }
+ return count;
+}
+
#endif // ENABLE_LCMS
std::vector<Glib::ustring> ColorProfile::getBaseProfileDirs() {
@@ -1077,7 +1086,7 @@ cmsHPROFILE getProofProfileHandle()
static void free_transforms();
-cmsHTRANSFORM Inkscape::colorprofile_get_display_transform()
+cmsHTRANSFORM Inkscape::CMSSystem::getDisplayTransform()
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
bool fromDisplay = prefs->getBool( "/options/displayprofile/from_display");
@@ -1188,7 +1197,7 @@ void free_transforms()
}
}
-Glib::ustring Inkscape::colorprofile_get_display_id( int screen, int monitor )
+Glib::ustring Inkscape::CMSSystem::getDisplayId( int screen, int monitor )
{
Glib::ustring id;
@@ -1203,7 +1212,7 @@ Glib::ustring Inkscape::colorprofile_get_display_id( int screen, int monitor )
return id;
}
-Glib::ustring Inkscape::colorprofile_set_display_per( gpointer buf, guint bufLen, int screen, int monitor )
+Glib::ustring Inkscape::CMSSystem::setDisplayPer( gpointer buf, guint bufLen, int screen, int monitor )
{
Glib::ustring id;
@@ -1236,7 +1245,7 @@ Glib::ustring Inkscape::colorprofile_set_display_per( gpointer buf, guint bufLen
return id;
}
-cmsHTRANSFORM Inkscape::colorprofile_get_display_per( Glib::ustring const& id )
+cmsHTRANSFORM Inkscape::CMSSystem::getDisplayPer( Glib::ustring const& id )
{
cmsHTRANSFORM result = 0;
if ( id.empty() ) {
diff --git a/src/color-profile.h b/src/color-profile.h
index 1b06b6a78..a9724defc 100644
--- a/src/color-profile.h
+++ b/src/color-profile.h
@@ -33,6 +33,7 @@ struct ColorProfileClass {
/** Color Profile. */
struct ColorProfile : public SPObject {
friend cmsHPROFILE colorprofile_get_handle( SPDocument*, guint*, gchar const* );
+ friend class CMSSystem;
static GType getType();
static void classInit( ColorProfileClass *klass );
diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp
index ea39d3435..37998437d 100644
--- a/src/display/sp-canvas.cpp
+++ b/src/display/sp-canvas.cpp
@@ -30,9 +30,7 @@
#include "preferences.h"
#include "inkscape.h"
#include "sodipodi-ctrlrect.h"
-#if ENABLE_LCMS
-#include "color-profile-fns.h"
-#endif // ENABLE_LCMS
+#include "cms-system.h"
#include "display/rendermode.h"
#include "display/cairo-utils.h"
#include "debug/gdk-event-latency-tracker.h"
@@ -1672,9 +1670,9 @@ static void sp_canvas_paint_single_buffer(SPCanvas *canvas, int x0, int y0, int
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
bool fromDisplay = prefs->getBool( "/options/displayprofile/from_display");
if ( fromDisplay ) {
- transf = Inkscape::colorprofile_get_display_per( canvas->cms_key ? *(canvas->cms_key) : "" );
+ transf = Inkscape::CMSSystem::getDisplayPer( canvas->cms_key ? *(canvas->cms_key) : "" );
} else {
- transf = Inkscape::colorprofile_get_display_transform();
+ transf = Inkscape::CMSSystem::getDisplayTransform();
}
if (transf) {
@@ -1683,7 +1681,7 @@ static void sp_canvas_paint_single_buffer(SPCanvas *canvas, int x0, int y0, int
int stride = cairo_image_surface_get_stride(imgs);
for (int i=0; i<h; ++i) {
unsigned char *row = px + i*stride;
- Inkscape::colorprofile_cmsDoTransform(transf, row, row, w);
+ Inkscape::CMSSystem::doTransform(transf, row, row, w);
}
cairo_surface_mark_dirty(imgs);
}
diff --git a/src/sp-image.cpp b/src/sp-image.cpp
index e9fd7ccde..ee70d2ca7 100644
--- a/src/sp-image.cpp
+++ b/src/sp-image.cpp
@@ -44,9 +44,9 @@
#include "io/sys.h"
#if ENABLE_LCMS
-#include "color-profile-fns.h"
-#include "color-profile-cms-fns.h"
+#include "cms-system.h"
#include "color-profile.h"
+#include <lcms.h>
//#define DEBUG_LCMS
#ifdef DEBUG_LCMS
@@ -849,9 +849,9 @@ static void sp_image_update( SPObject *object, SPCtx *ctx, unsigned int flags )
DEBUG_MESSAGE( lcmsFive, "in <image>'s sp_image_update. About to call colorprofile_get_handle()" );
#endif // DEBUG_LCMS
guint profIntent = Inkscape::RENDERING_INTENT_UNKNOWN;
- cmsHPROFILE prof = Inkscape::colorprofile_get_handle( object->document,
- &profIntent,
- image->color_profile );
+ cmsHPROFILE prof = Inkscape::CMSSystem::getHandle( object->document,
+ &profIntent,
+ image->color_profile );
if ( prof ) {
icProfileClassSignature profileClass = cmsGetDeviceClass( prof );
if ( profileClass != icSigNamedColorClass ) {
diff --git a/src/svg/svg-color.cpp b/src/svg/svg-color.cpp
index 3605bde55..9293564d5 100644
--- a/src/svg/svg-color.cpp
+++ b/src/svg/svg-color.cpp
@@ -1,5 +1,3 @@
-#define __SP_SVG_COLOR_C__
-
/**
* \file
* Reading \& writing of SVG/CSS colors.
@@ -37,17 +35,16 @@
#include "svg-icc-color.h"
#if ENABLE_LCMS
-#include <lcms.h>
#include "color.h"
#include "color-profile.h"
#include "document.h"
#include "inkscape.h"
#include "profile-manager.h"
-#include "color-profile-cms-fns.h"
#endif // ENABLE_LCMS
-#include "color-profile-fns.h"
+#include "cms-system.h"
using std::sprintf;
+using Inkscape::CMSSystem;
struct SPSVGColor {
unsigned long rgb;
@@ -467,7 +464,7 @@ sp_svg_create_color_hash()
#if ENABLE_LCMS
//helper function borrowed from src/widgets/sp-color-icc-selector.cpp:
-void getThings( DWORD space, gchar const**& namers, gchar const**& tippies, guint const*& scalies );
+void getThings( Inkscape::ColorProfile *prof, gchar const**& namers, gchar const**& tippies, guint const*& scalies );
void icc_color_to_sRGB(SVGICCColor* icc, guchar* r, guchar* g, guchar* b){
guchar color_out[4];
@@ -481,18 +478,18 @@ g_message("profile name: %s", icc->colorProfile.c_str());
gchar const** names = 0;
gchar const** tips = 0;
guint const* scales = 0;
- getThings( asICColorSpaceSig(prof->getColorSpace()), names, tips, scales );
+ getThings( prof, names, tips, scales );
- guint count = _cmsChannelsOf( asICColorSpaceSig(prof->getColorSpace()) );
+ gint count = CMSSystem::getChannelCount( prof );
if (count > 4) {
count = 4; //do we need it? Should we allow an arbitrary number of color values? Or should we limit to a maximum? (max==4?)
}
- for (guint i=0;i<count; i++){
+ for (gint i = 0; i < count; i++){
color_in[i] = (guchar) ((((gdouble)icc->colors[i])*256.0) * (gdouble)scales[i]);
g_message("input[%d]: %d",i, color_in[i]);
}
- cmsDoTransform( trans, color_in, color_out, 1 );
+ CMSSystem::doTransform( trans, color_in, color_out, 1 );
g_message("transform to sRGB done");
}
*r = color_out[0];
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index aa3c18aaa..d11ffd565 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -41,7 +41,7 @@
#include "ui/widget/spinbutton.h"
#include "display/nr-filter-gaussian.h"
#include "display/nr-filter-types.h"
-#include "color-profile-fns.h"
+#include "cms-system.h"
#include "color-profile.h"
#include "display/canvas-grid.h"
#include "path-prefix.h"
@@ -62,6 +62,7 @@ using Inkscape::UI::Widget::PrefCheckButton;
using Inkscape::UI::Widget::PrefRadioButton;
using Inkscape::UI::Widget::PrefSpinButton;
using Inkscape::UI::Widget::StyleSwatch;
+using Inkscape::CMSSystem;
InkscapePreferences::InkscapePreferences()
@@ -858,7 +859,7 @@ static void profileComboChanged( Gtk::ComboBoxText* combo )
} else {
Glib::ustring active = combo->get_active_text();
- Glib::ustring path = get_path_for_profile(active);
+ Glib::ustring path = CMSSystem::getPathForProfile(active);
if ( !path.empty() ) {
prefs->setString("/options/displayprofile/uri", path);
}
@@ -868,7 +869,7 @@ static void profileComboChanged( Gtk::ComboBoxText* combo )
static void proofComboChanged( Gtk::ComboBoxText* combo )
{
Glib::ustring active = combo->get_active_text();
- Glib::ustring path = get_path_for_profile(active);
+ Glib::ustring path = CMSSystem::getPathForProfile(active);
if ( !path.empty() ) {
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
@@ -975,7 +976,7 @@ void InkscapePreferences::initPageCMS()
#if ENABLE_LCMS
{
- std::vector<Glib::ustring> names = ::Inkscape::colorprofile_get_display_names();
+ std::vector<Glib::ustring> names = ::Inkscape::CMSSystem::getDisplayNames();
Glib::ustring current = prefs->getString( "/options/displayprofile/uri" );
gint index = 0;
@@ -983,7 +984,7 @@ void InkscapePreferences::initPageCMS()
index++;
for ( std::vector<Glib::ustring>::iterator it = names.begin(); it != names.end(); ++it ) {
_cms_display_profile.append_text( *it );
- Glib::ustring path = get_path_for_profile(*it);
+ Glib::ustring path = CMSSystem::getPathForProfile(*it);
if ( !path.empty() && path == current ) {
_cms_display_profile.set_active(index);
}
@@ -993,12 +994,12 @@ void InkscapePreferences::initPageCMS()
_cms_display_profile.set_active(0);
}
- names = ::Inkscape::colorprofile_get_softproof_names();
+ names = ::Inkscape::CMSSystem::getSoftproofNames();
current = prefs->getString("/options/softproof/uri");
index = 0;
for ( std::vector<Glib::ustring>::iterator it = names.begin(); it != names.end(); ++it ) {
_cms_proof_profile.append_text( *it );
- Glib::ustring path = get_path_for_profile(*it);
+ Glib::ustring path = CMSSystem::getPathForProfile(*it);
if ( !path.empty() && path == current ) {
_cms_proof_profile.set_active(index);
}
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
index 52008625a..34c3ab75a 100644
--- a/src/widgets/desktop-widget.cpp
+++ b/src/widgets/desktop-widget.cpp
@@ -28,7 +28,7 @@
#include <gtk/gtk.h>
#include "box3d-context.h"
-#include "color-profile-fns.h"
+#include "cms-system.h"
#include "conn-avoid-ref.h"
#include "desktop-events.h"
#include "desktop-handles.h"
@@ -193,7 +193,7 @@ void CMSPrefWatcher::hook(EgeColorProfTracker */*tracker*/, gint screen, gint mo
guint len = 0;
ege_color_prof_tracker_get_profile_for( screen, monitor, reinterpret_cast<gpointer*>(&buf), &len );
- Glib::ustring id = Inkscape::colorprofile_set_display_per( buf, len, screen, monitor );
+ Glib::ustring id = Inkscape::CMSSystem::setDisplayPer( buf, len, screen, monitor );
#endif // ENABLE_LCMS
}
@@ -540,7 +540,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw )
#if ENABLE_LCMS
bool fromDisplay = prefs->getBool( "/options/displayprofile/from_display");
if ( fromDisplay ) {
- Glib::ustring id = Inkscape::colorprofile_get_display_id( 0, 0 );
+ Glib::ustring id = Inkscape::CMSSystem::getDisplayId( 0, 0 );
bool enabled = false;
if ( dtw->canvas->cms_key ) {
@@ -805,7 +805,7 @@ void sp_dtw_color_profile_event(EgeColorProfTracker */*tracker*/, SPDesktopWidge
GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(dtw));
gint screenNum = gdk_screen_get_number(screen);
gint monitor = gdk_screen_get_monitor_at_window(screen, gtk_widget_get_toplevel(GTK_WIDGET(dtw))->window);
- Glib::ustring id = Inkscape::colorprofile_get_display_id( screenNum, monitor );
+ Glib::ustring id = Inkscape::CMSSystem::getDisplayId( screenNum, monitor );
bool enabled = false;
if ( dtw->canvas->cms_key ) {
*(dtw->canvas->cms_key) = id;
diff --git a/src/widgets/sp-color-icc-selector.cpp b/src/widgets/sp-color-icc-selector.cpp
index 9e5291cc4..888cc2629 100644
--- a/src/widgets/sp-color-icc-selector.cpp
+++ b/src/widgets/sp-color-icc-selector.cpp
@@ -15,9 +15,9 @@
#define noDEBUG_LCMS
#if ENABLE_LCMS
-#include "color-profile-fns.h"
-#include "color-profile-cms-fns.h"
#include "color-profile.h"
+#include "cms-system.h"
+#include "color-profile-cms-fns.h"
#ifdef DEBUG_LCMS
#include "preferences.h"
@@ -259,6 +259,12 @@ void getThings( DWORD space, gchar const**& namers, gchar const**& tippies, guin
tippies = tips[index];
scalies = scales[index];
}
+
+
+void getThings( Inkscape::ColorProfile *prof, gchar const**& namers, gchar const**& tippies, guint const*& scalies ) {
+ getThings( asICColorSpaceSig(prof->getColorSpace()), namers, tippies, scalies );
+}
+
#endif // ENABLE_LCMS
diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp
index 546f7838b..1324e0b16 100644
--- a/src/widgets/sp-color-notebook.cpp
+++ b/src/widgets/sp-color-notebook.cpp
@@ -36,11 +36,9 @@
#include "../document.h"
#include "../profile-manager.h"
#include "color-profile.h"
-#include "color-profile-fns.h"
-#if ENABLE_LCMS
-//#include "lcms.h"
-//#include "color-profile-cms-fns.h"
-#endif // ENABLE_LCMS
+#include "cms-system.h"
+
+using Inkscape::CMSSystem;
struct SPColorNotebookTracker {
const gchar* name;
@@ -540,7 +538,7 @@ void ColorNotebook::_updateRgbaEntry( const SPColor& color, gfloat alpha )
gtk_widget_set_sensitive (_box_toomuchink, false);
if (color.icc){
Inkscape::ColorProfile* prof = SP_ACTIVE_DOCUMENT->profileManager->find(color.icc->colorProfile.c_str());
- if ( prof && colorprofile_isPrintColorSpace(prof) ) {
+ if ( prof && CMSSystem::isPrintColorSpace(prof) ) {
gtk_widget_show(GTK_WIDGET(_box_toomuchink));
double ink_sum = 0;
for (unsigned int i=0; i<color.icc->colors.size(); i++){