InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPrintUtils.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 // Purpose:
24 //
25 //========================================================================================
26 
27 #ifndef __IPrintUtils__
28 #define __IPrintUtils__
29 
30 
31 #include "IPMUnknown.h"
32 
33 #include "PMRect.h"
34 #include "PrintID.h"
35 #include "Utils.h"
36 
37 class ICMSProofing;
39 class IDocument;
40 class IOutputPages;
41 class IPrintData;
42 class IPrintDeviceInfo;
43 class IPrintDialogData;
45 class IInkList;
46 class IPrintJobData;
47 class GraphicsData;
48 
49 #define PRINTUTILS Utils<IPrintUtils>()
50 
53 class IPrintUtils : public IPMUnknown
54 {
55 public:
58  enum PrintStage {
59 
60  kBeforePrintJobParamsInit = 0,
61  kAfterPrintJobParamsInit,
62 
63  kBeforePrintLoop,
64 
65  kBeginPageEvent,
66 
67  kBeforeDrawPageEvent,
68  kBeforeDrawPage,
69  kAfterDrawPageEvent,
70 
71  kEndPageEvent,
72 
73  kBeforeDrawGalleyPageEvent,
74  kBeforeDrawGalleyPage,
75  kAfterDrawGalleyPageEvent,
76 
77  kEndPrintingEvent
78  };
79 
80 public:
81  enum { kDefaultIID = IID_IPRINTUTILS };
82 
87  virtual bool16 IsCompositeMode(int32 outputMode) = 0;
92  virtual bool16 IsSeparationMode(int32 outputMode) = 0;
98  virtual int32 GetDefaultOutputMode(const IPrintDeviceInfo* iPrintDeviceInfo) = 0;
99 
105  virtual bool16 BleedIsOn(const IPrintData* iPD) = 0;
111  virtual bool16 MarksAreOn(const IPrintData* iPD) = 0;
112 
120  virtual PMString GetUsedProfileName(const IPrintData* iPrintData, IDocument* iDocument) = 0;
128  virtual PMString GetDocumentProfileName(const IPrintData* iPrintData, IDocument* iDocument) = 0;
136  virtual PMString GetDocumentProfileName(IDocument* iDocument, int32 source) = 0;
143  virtual PMString GetWorkingProfileName(const IPrintData* iPrintData) = 0;
149  virtual PMString GetWorkingProfileName(int32 source) = 0;
150 
156  virtual ICMSProofing* QueryICMSProofing(IDocument* iDocument) = 0;
162  virtual void UpdateInkScreening(IPrintDialogData* iPrintDialogData) = 0;
163 
171  virtual void InitPrintDataAndInks(IDocument* doc) = 0;
179  virtual void FixupPrintDataForPub(IDocument* doc) = 0;
180 
189  virtual void FigureCustomPaperSizeSettings(int32 whichPage, // input
190  IPrintData* iPrintData, // input
191  IOutputPages* iOutputPages, // input
192  PMReal& nWidth, // output
193  PMReal& nHeight, // output
194  PMReal& nWidthOffset) = 0; // output
195 
203  virtual void ThumbCalculateRowsAndColumns(uint32 thumbsPerPage,
204  PMRect const& pageRect,
205  IPrintData const* iPrintData,
206  uint32& rows,
207  uint32& columns) = 0;
208 
214  virtual bool16 IsDocumentWide(PMRect const& pageRect, IPrintData const* printData) = 0;
219  virtual bool16 IsPrinterWide(IPrintData const* printData) = 0;
220 
221 
229  virtual PMReal GetCorrectedTilingOverlap(const IPrintData* iPrintData) const = 0;
230 
240  virtual bool16 InitializeOutputPages(IDocument *iDoc, IPrintData *iPrintData, IOutputPages *iPrintPages) = 0;
241 
248  virtual void SetupPSViewPortAttrs( IViewPortAttributes* pAttrs, IPrintData* pConfig, IInkList* iInkList ) = 0;
249 
255  virtual void SetupNonPSViewPortAttrs( IViewPortAttributes* pAttrs, IPrintData* pConfig ) = 0;
256 
270  virtual bool16 InvokePrintSetupServices(
271  PrintStage printStage,
272  IPrintData* iPrintData = nil,
273  IOutputPages* iOutputPages = nil,
274  IPrintJobData* iPrintJobData = nil,
275  int32* whichPage = nil,
276  PMRect* outputRect = nil,
277  GraphicsData* gd = nil
278  ) = 0;
279 
289  virtual bool16 InvokePrintSetupError(
290  IPrintData* iPrintData,
291  ErrorCode& errorNum,
292  PMString& errComponent,
293  PMString& errText,
294  PMString& errOtherInfo
295  ) = 0;
296 
303  virtual PMReal CalculateImageResolution( IPrintData* pConfig, IInkList* iInkList ) = 0;
304 
305 #ifdef DEBUG
306  virtual bool16& gShowImageableArea() = 0;
307  virtual bool16& gCheckPaperRects() = 0;
308  virtual int32& gDownloadFontGlyphThreshold() = 0;
309  virtual bool16& gTraceFlattenerInput() = 0;
310  virtual bool16& gTraceFlattenerOutput() = 0;
311 #endif
312 };
313 
314 #endif // __IPrintUtils__