Scribus
Open source desktop publishing at your fingertips
sccolormgmtengine.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 #ifndef SCCOLORMGMTENGINE_H
9 #define SCCOLORMGMTENGINE_H
10 
11 #include <QList>
12 #include <QSharedPointer>
13 #include "scribusapi.h"
14 #include "sccolormgmtenginedata.h"
15 
16 class SCRIBUS_API ScColorMgmtEngine
17 {
18 public:
20 
21  // Getters
22  int engineID() const;
23  const QString& description() const;
24  const ScColorMgmtStrategy& strategy() const;
25 
26  // Setters, only for color management strategy, and purely virtual ;)
27  void setStrategy(const ScColorMgmtStrategy& strategy);
28 
29  // function for getting available profile in a directory
30  QList<ScColorProfileInfo> getAvailableProfileInfo(const QString& directory, bool recursive);
31 
32  // functions for opening icc profiles
33  ScColorProfile openProfileFromFile(const QString& filePath);
34  ScColorProfile openProfileFromMem( const QByteArray& array);
35 
36  // functions for creating profiles
37  ScColorProfile createProfile_sRGB();
38  ScColorProfile createProfile_Lab();
39 
40  // functions for creating transforms
41  ScColorTransform createTransform(const ScColorProfile& inputProfile , eColorFormat inputFormat,
42  const ScColorProfile& outputProfile, eColorFormat outputFormat,
43  eRenderIntent renderIntent, long transformFlags);
44  ScColorTransform createProofingTransform(const ScColorProfile& inputProfile , eColorFormat inputFormat,
45  const ScColorProfile& outputProfile, eColorFormat outputFormat,
46  const ScColorProfile& proofingProfile, eRenderIntent renderIntent,
47  eRenderIntent proofingIntent, long transformFlags);
48 
49  ScColorSpace createColorSpace(ScColorProfile& profile, eColorFormat colorFormat);
50 
51  // color engine equality operator function
52  bool operator==(const ScColorMgmtEngine& other) const;
53  bool operator!=(const ScColorMgmtEngine& other) const;
54 
55 protected:
56  QSharedPointer<ScColorMgmtEngineData> m_data;
57 };
58 
59 #endif
Definition: sccolorspace.h:18
Definition: sccolorprofile.h:16
Definition: sccolormgmtenginedata.h:22
Definition: sccolortransform.h:16
Definition: sccolormgmtstructs.h:92
Definition: sccolormgmtengine.h:16