InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICMSProofing.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: James Jardee-Borquist
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __ICMSProofing__
25 #define __ICMSProofing__
26 
27 #if PRAGMA_ONCE
28 #endif
29 
30 #include "ICMSSettings.h"
31 #include "IPMUnknown.h"
32 #include "BravoForwardDecl.h"
33 
34 #include "ACEColorMgmtID.h"
35 
36 class ICMSProfile;
37 class IRasterPort;
38 
39 //========================================================================================
40 // CLASS ICMSProofing
41 //========================================================================================
42 
43 class ICMSProofing : public IPMUnknown
44 {
45 public:
46  enum { kDefaultIID = IID_ICMSPROOFING };
47 
48  enum ProofingType {
49  kCustom,
50  kSimulateDocCMYK,
51  kSimulateWorkingCMYK,
52  kSimulateMacintoshRGB,
53  kSimulateWindowsRGB,
54  kSimulateMonitorRGB
55  };
56 
57  virtual bool16 GetIsProofingOn() const = 0;
58  virtual void SetIsProofingOn(bool16 isProofingOn) = 0;
59 
60  virtual ProofingType GetProofingType() const = 0;
61  virtual void SetProofingType(ProofingType proofingType) = 0;
62 
65  virtual bool32 GetEffectivePreserveNumbers() const = 0;
66  virtual bool32 GetEffectivePaperWhite() const = 0;
67  virtual bool32 GetEffectiveInkBlack() const = 0;
68 
71  virtual bool32 GetPreserveNumbers() const = 0;
72  virtual void SetPreserveNumbers(bool32 preserveEm) = 0;
73 
74  virtual ICMSProfile *QueryProfile() = 0;
75  virtual void SetProfile(ICMSProfile *profile) = 0;
76 
81  virtual AGMColorProfile* GetProofProfile() = 0;
82  virtual void ReleaseProfile(AGMColorProfile* spc) = 0;
83 
84  // GetProfileName
85  //
86  // Returns the name of the currently selected proofing profile. Will be the string "Simulate
87  // Composite" or "Simulate Separation" when the current proofing type is kSimulateComposite or
88  // kSimulateSeparation. Use GetCustomProfileName to get the name of the custom profile even if
89  // the current proofing type is not kCustom.
90  virtual void GetProfileName(PMString &profileName) const = 0;
91 
92  // GetCustomProfileName
93  // SetCustomProfileName
94  //
95  // Returns/sets the name of the custom proofing profile even if the current proofing type is not
96  // kCustom. Use GetProfileName to get the name of the current proofing profile.
97  virtual void GetCustomProfileName(PMString &customProfileName) const = 0;
98  virtual void SetCustomProfileName(const PMString& customProfileName) = 0;
99 
103  virtual bool32 GetSimulatePaperWhite() const = 0;
104  virtual bool32 GetSimulateInkBlack() const = 0;
105  virtual void SetSimulatePaperWhite(bool32 sim) = 0;
106  virtual void SetSimulateInkBlack(bool32 sim) = 0;
107 
108  virtual void SetupProofingForGlobalOffscreens() = 0;
109  virtual void RestoreProofingForGlobalOffscreens() = 0;
110 
111  virtual void SetupProofing(IRasterPort *iRasterPort) = 0;
112  virtual void RestoreProofing(IRasterPort *iRasterPort) = 0;
113 };
114 
115 #endif // __ICMSProofing__
116 
117 // End, ICMSProofing.h.