summaryrefslogtreecommitdiffstats
path: root/src/cms-system.h
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 /src/cms-system.h
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)
Diffstat (limited to 'src/cms-system.h')
-rw-r--r--src/cms-system.h60
1 files changed, 60 insertions, 0 deletions
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 :