InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPrintDeviceInfo.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael Easter
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 __IPrintDeviceInfo__
25 #define __IPrintDeviceInfo__
26 
27 #if PRAGMA_ONCE
28 #endif
29 
30 #ifdef MACINTOSH
31 #define OSX_HACK
32 #endif
33 
34 #include "PMRect.h"
35 #include "PrintID.h"
36 #include "K2Vector.h"
37 #include "KeyValuePair.h"
38 
39 class PMReal;
40 class IOutputPages;
41 
42 //========================================================================================
43 // CLASS IPrintDeviceInfo
44 //========================================================================================
45 
52 {
53 public:
56  enum { kDefaultIID = IID_IPRINTDEVICEINFO };
57 
62  virtual bool16 IsPrintSessionActive() const = 0;
63 
67  virtual void Begin(bool16 initPPDList = kTrue) = 0;
70  virtual void End() = 0;
71 
81  };
82 
88  virtual ErrorCode ProcessPlatformPrintDialog(SetupDialogType dialogType, IOutputPages *iOutputPages = nil) = 0;
89 
106  virtual ErrorCode UpdatePrinterInfo(PMString& newPrinterStr, PMString& newPPDModelStr, bool16 bUsePrintData = kFalse, PMString newPPDFileStr = PMString()) = 0;
107 
111  virtual bool16 HasDefaultPrinter() const = 0;
115  virtual PMString GetDefaultPrinterName() const = 0;
119  virtual bool16 IsDefaultPrinterPDFWriter() const = 0;
120 
124  virtual int32 GetNumDevices() const = 0;
129  virtual PMString GetNthDevice(const int32 index) const = 0;
134  virtual int32 GetDeviceIndex(const PMString& deviceName) const = 0;
135 
139  virtual int32 GetNumPPDNames() const = 0;
144  virtual PMString GetNthPPDModelName(const int32 index) const = 0;
149  virtual PMString GetNthPPDFileName(const int32 index) const = 0;
154  virtual int32 GetPPDIndexFromModelName(const PMString& ppdModelName) const = 0;
159  virtual int32 GetPPDIndexFromFileName(const PMString& ppdFileName) const = 0;
160 
164  virtual int32 GetNumPaperSizes() const = 0;
169  virtual PMString GetNthPaperSize(const int32 index) const = 0;
174  virtual int32 GetPaperSizeIndex(const PMString& paperSizeName) const = 0;
181  virtual PMString GetMediaSizeName() const = 0;
187  virtual PMString GetPaperSizeName(const PMString& mediaSizeName) const = 0;
194  virtual PMString GetPaperSizeName(const PMRect& paperSizeRect, const PMRect& imageableAreaRect = PMRect(), const PMString& paperSizeName = PMString()) const = 0;
195 
200  virtual PMRect GetPaperSize(const int32 index = 0) const = 0;
205  virtual PMRect GetImageablePaperSize(const int32 index = 0) const = 0;
212  virtual uchar *GetPaperSizeSelector(uint32 &outSize, const int32 index = 0) const = 0;
213 
217  virtual bool16 GetDeviceSupportsCustomPaperSizes() const = 0;
221  virtual bool16 GetDeviceSupportsCustomPaperTransverse() const = 0;
226  virtual void GetDeviceCustomPaperWidthRange(PMReal &outMinWidth, PMReal &outMaxWidth) const = 0;
231  virtual void GetDeviceCustomPaperHeightRange(PMReal &outMinHeight, PMReal &outMaxHeight) const = 0;
236  virtual void GetDeviceCustomPaperWidthOffsetRange(PMReal &outMinOffset, PMReal &outMaxOffset) const = 0;
237 
241  virtual bool16 GetDeviceSupportsInRIPTrapping() const = 0;
245  virtual bool16 GetDeviceSupportsInRIPSeparations() const = 0;
249  virtual bool16 GetDeviceSupportsBinaryData() const = 0;
250 
266  };
267 
271  virtual DefColorSpace GetDeviceDefaultColorSpace() const = 0;
276  virtual bool16 GetDeviceSupportsColorSpace(DefColorSpace colorSpace) const = 0;
277 
280  enum PSLevel {
293  };
294 
298  virtual bool16 IsPostScriptDevice() const = 0;
305  virtual bool16 DeviceSupportsNormalizedPostScript() const = 0;
309  virtual PSLevel GetDevicePostScriptLevel() const = 0;
310 
314  virtual int32 GetNumCompositeFrequencies() const = 0;
319  virtual PMString GetNthCompositeFrequency(const int32 index) const = 0;
320 
325  virtual PMReal GetDeviceCompositeAngle(PMString& resStr) const = 0;
330  virtual PMReal GetDeviceCompositeFrequency(PMString& resStr) const = 0;
331 
336  virtual int32 GetCompositeFrequencyIndex(const PMString& compFreqName) const = 0;
337 
341  virtual int32 GetNumSeparationFrequencies() const = 0;
346  virtual PMString GetNthSeparationFrequency(const int32 index) const = 0;
351  virtual int32 GetSeparationFrequencyIndex(const PMString& sepFreqName) const = 0;
355  virtual int32 GetDefaultSeparationFrequencyIndex() const = 0;
356 
359  enum InkSelector {
375  };
376 
381  virtual PMReal GetDeviceDefaultInkAngle(InkSelector inInkSelector) const = 0;
386  virtual PMReal GetDeviceDefaultInkFrequency(InkSelector inInkSelector) const = 0;
387 
393  virtual PMReal GetDeviceInkAngle(InkSelector inInkSelector, PMString& resStr) const = 0;
399  virtual PMReal GetDeviceInkFrequency(InkSelector inInkSelector, PMString& resStr) const = 0;
400 
404  virtual bool16 GetDeviceRequiresFlattener() const = 0;
405 
411  virtual ErrorCode GetPPDValues(PMString& keyIn, K2Vector<KeyValuePair<PMString, PMString> >& valueOut) const = 0;
417  virtual ErrorCode GetPPDOptionKeys(PMString& keyIn, K2Vector<PMString>& keysOut) const = 0;
425  virtual ErrorCode GetPPDOptionValue(PMString& keyIn, PMString& subKeyIn, PMString& subKeyTranslationOut, K2Vector<KeyValuePair<PMString, PMString> >& valueOut) const = 0;
426 };
427 
428 #endif // __IPrintDeviceInfo__
429 
430 // End, IPrintDeviceInfo.h.