Scribus
Open source desktop publishing at your fingertips
cmsettings.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 /***************************************************************************
8  * Copyright (C) 2006 by Craig Bradney *
9  * mrb@scribus.info *
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  * This program is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
19  * GNU General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU General Public License *
22  * along with this program; if not, write to the *
23  * Free Software Foundation, Inc., *
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
25  ***************************************************************************/
26 
27 #ifndef CMSETTINGS_H
28 #define CMSETTINGS_H
29 
30 #include "scconfig.h"
31 #include "scribusapi.h"
32 #include <QString>
33 class ScribusDoc;
34 
35 #include "colormgmt/sccolormgmtengine.h"
36 
37 class SCRIBUS_API CMSettings
38 {
39 public:
40  CMSettings(ScribusDoc* doc, const QString& profileName, eRenderIntent intent);
41  ~CMSettings();
42 
43  ScribusDoc* doc() const {return m_Doc;}
44  QString profileName() const {return m_ProfileName;}
45  eRenderIntent intent() const { return m_Intent; }
46 
47  bool colorManagementAllowed() const { return m_colorManagementAllowed; }
48  void allowColorManagement(bool allowed) { m_colorManagementAllowed = allowed; }
49 
50  bool softProofingAllowed() const { return m_softProofingAllowed; }
51  void allowSoftProofing(bool allowed) { m_softProofingAllowed = allowed; }
52 
53  bool useEmbeddedProfile() const { return m_useEmbeddedProfile; }
54  void setUseEmbeddedProfile(bool useEmbedded) { m_useEmbeddedProfile = useEmbedded; }
55 
56  bool useOutputProfile() const { return !m_outputProfile.isNull(); }
57  void setOutputProfile(const ScColorProfile& prof) { m_outputProfile = prof; }
58 
59  bool useColorManagement() const;
60 
61  QString defaultMonitorProfile() const;
62  QString defaultPrinterProfile() const;
63  QString defaultImageRGBProfile() const;
64  QString defaultImageCMYKProfile() const;
65  QString defaultSolidColorRGBProfile() const;
66  QString defaultSolidColorCMYKProfile() const;
67 
68  eRenderIntent colorRenderingIntent() const;
69  eRenderIntent imageRenderingIntent() const;
70 
71  bool useBlackPoint() const;
72  bool doSoftProofing() const;
73  bool doGamutCheck() const;
74 
75  ScColorProfile monitorProfile() const;
76  ScColorProfile printerProfile() const;
77  ScColorProfile outputProfile() const;
78 
79  ScColorTransform rgbColorDisplayTransform() const; // stdTransRGBMonG
80  ScColorTransform rgbColorProofingTransform() const; // stdProofG
81  ScColorTransform rgbImageDisplayTransform() const; // stdTransImgG
82  ScColorTransform rgbImageProofingTransform() const; // stdProofImgG
83  ScColorTransform rgbToCymkColorTransform() const; // stdTransCMYKG
84  ScColorTransform rgbGamutCheckTransform() const; // stdProofGCG
85 
86  ScColorTransform cmykColorDisplayTransform() const; // stdTransCMYKMonG
87  ScColorTransform cmykColorProofingTransform() const; // stdProofCMYKG
88  ScColorTransform cmykImageProofingTransform() const; // stdProofImgCMYK
89  ScColorTransform cmykToRgbColorTransform() const; // stdTransRGBG
90  ScColorTransform cmykGamutCheckTransform() const; //stdProofCMYKGCG
91 
92 protected:
93  ScribusDoc* m_Doc;
94  bool m_colorManagementAllowed;
95  bool m_softProofingAllowed;
96  bool m_useEmbeddedProfile;
97  QString m_ProfileName;
98  eRenderIntent m_Intent;
99  ScColorProfile m_outputProfile;
100 };
101 
102 #endif
Definition: sccolorprofile.h:16
Definition: sccolortransform.h:16
the Document Class
Definition: scribusdoc.h:90
Definition: cmsettings.h:37