Code

Patches 3-11 from 488862 for a number of memleaks and allocation/deallocation issues.
[inkscape.git] / src / color-profile.h
index 2d8ac5b6d0214cf729ca976401b2b118e582379e..40d0d769871f89e96974493f7662ab156767695a 100644 (file)
@@ -36,11 +36,15 @@ struct ColorProfile : public SPObject {
     static std::list<Glib::ustring> getProfileDirs();
 #if ENABLE_LCMS
     static cmsHPROFILE getSRGBProfile();
+    static cmsHPROFILE getNULLProfile();
 
     icColorSpaceSignature getColorSpace() const {return _profileSpace;}
     icProfileClassSignature getProfileClass() const {return _profileClass;}
     cmsHTRANSFORM getTransfToSRGB8();
     cmsHTRANSFORM getTransfFromSRGB8();
+    cmsHTRANSFORM getTransfGamutCheck();
+    bool GamutCheck(SPColor color);
+
 #endif // ENABLE_LCMS
 
     gchar* href;
@@ -56,7 +60,7 @@ private:
     static void init( ColorProfile *cprof );
 
     static void release( SPObject *object );
-    static void build( SPObject *object, Document *document, Inkscape::XML::Node *repr );
+    static void build( SPObject *object, SPDocument *document, Inkscape::XML::Node *repr );
     static void set( SPObject *object, unsigned key, gchar const *value );
     static Inkscape::XML::Node *write( SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags );
 #if ENABLE_LCMS
@@ -64,11 +68,13 @@ private:
     void _clearProfile();
 
     static cmsHPROFILE _sRGBProf;
+    static cmsHPROFILE _NullProf;
 
     icProfileClassSignature _profileClass;
     icColorSpaceSignature _profileSpace;
     cmsHTRANSFORM _transf;
     cmsHTRANSFORM _revTransf;
+    cmsHTRANSFORM _gamutTransf;
 #endif // ENABLE_LCMS
 };