InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IInCopyLayoutPrintData.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: David Berggren
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 __IInCopyLayoutPrintData__
28 #define __IInCopyLayoutPrintData__
29 
30 #include "IPMUnknown.h"
31 #include "IXferBytes.h"
32 #include "InCopyCoreID.h"
33 #include "PersistUIDList.h"
34 #include "PMString.h"
35 #include "PMReal.h"
36 #include "PMRect.h"
37 #include "IGenericSettings.h"
38 #include "IPrintData.h"
48 {
49 public:
50 enum { kDefaultIID = IID_IINCOPYLAYOUTPRINTDATA };
51 enum { // DeviceType
52  kPostScriptDeviceType = 0,
53  kNonPostScriptDeviceType,
54  // printer
55  kPrinter = 0,
56  kVirtualPrinter,
57 
58  // PaperSizeSelection
59  kPaperSizeDefinedByUser = -1,
60  kPaperSizeDefinedByDriver = -2,
61  kPaperSizeDefinedByName = -3,
62  // PageOrientation
63  kPortrait = 0,
64  kLandscape, // Counterclockwise 90 degrees
65  // WhichPages
66  kAllPages = 0,
67  kPageRange,
68  // ScaleMode
69  kScaleToFit = 0,
70  kScaleXAndY,
71 
72  kDontCare = ((int32)-32767)
73  };
74 
75 
76  // Copy/Initialization methods
77  virtual void CopyData(IInCopyLayoutPrintData* copyFromPD, bool16 bCopyPrintRecord = kFalse) = 0;
78 
79  // Change notification method
80  virtual void Notify(void* changedBy = nil) = 0;
81 
82  // sync to IPrintData
83  virtual void CopyToPrintData(IPrintData * data) = 0;
84  // sync from IPrintData
85  virtual void CopyFromPrintData(IPrintData * data) = 0;
86 
87  // Set methods
88  virtual void SetDeviceType(const int32 deviceType) = 0;
89  virtual void SetPrintTo(const int32 to) = 0;
90  virtual void SetPrinter(const PMString& printer) = 0;
91  virtual void SetFileName(const PMString& fileName) = 0;
92  virtual void SetPPDName(const PMString& Name) = 0;
93  virtual void SetPaperSize(const PMRect& paperSize) = 0;
94  virtual void SetImageablePaperSize(const PMRect& paperSize) = 0;
95  virtual void SetPaperSizeSelection(const int32 paperSizeSelection) = 0;
96  virtual void SetPaperSizeName(const PMString& paperSizeName) = 0;
97  virtual void SetOrientation(const int32 pageOrientation) = 0;
98  virtual void SetCopies(const int32 copies) = 0;
99  virtual void SetCollate(const bool16 collate) = 0;
100  virtual void SetReverse(const bool16 reverse) = 0;
101  virtual void SetWhichPages(const int32 whichPages) = 0;
102  virtual void SetPageRange(const PMString& pageRange) = 0;
103  virtual void SetSpreads(const bool16 spreads) = 0;
104  virtual void SetShowSaveDialog(const bool16 showSaveDialog) = 0;
105  virtual void SetScaleMode(const int32 scaleMode) = 0;
106  virtual void SetProportional(const bool16 proportional) = 0;
107  virtual void SetXScale(const PMReal& xScale) = 0;
108  virtual void SetYScale(const PMReal& yScale) = 0;
109  virtual void SetImages(const bool16 images) = 0;
110  virtual void SetPagesInfo(const bool16 pageNumber) = 0;
111 
112  virtual void SetPaperSizeSelector(uchar* inData, uint32 inSize) = 0;
113 
114  // Get methods
115  virtual bool16 GetIsDefaultValues() const = 0;
116  virtual int32 GetDeviceType() const = 0;
117  virtual int32 GetPrintTo() const = 0;
118  virtual PMString GetPrinter() const = 0;
119  virtual PMString GetFileName() const = 0;
120  virtual PMString GetPPDName() const = 0;
121  virtual PMRect GetPaperSize() const = 0;
122  virtual PMRect GetImageablePaperSize() const = 0;
123  virtual int32 GetPaperSizeSelection() const = 0;
124  virtual PMString GetPaperSizeName() const = 0;
125  virtual int32 GetOrientation() const = 0;
126  virtual int32 GetCopies() const = 0;
127  virtual bool16 GetCollate() const = 0;
128  virtual bool16 GetReverse() const = 0;
129  virtual int32 GetWhichPages() const = 0;
130  virtual PMString GetPageRange() const = 0;
131  virtual bool16 GetSpreads() const = 0;
132  virtual bool16 GetShowSaveDialog() const = 0;
133  virtual int32 GetScaleMode() const = 0;
134  virtual bool16 GetProportional() const = 0;
135  virtual PMReal GetXScale() const = 0;
136  virtual PMReal GetYScale() const = 0;
137  virtual bool16 GetImages() const = 0;
138  virtual bool16 GetPagesInfo() const = 0;
139 
140  virtual uchar* GetPaperSizeSelector(uint32 &outSize) const = 0; // NOTE!!! Caller is responsible for delete[]-ing the return value!!!
141 
142 };
143 
144 #endif
145 
146 // End, IInCopyLayoutPrintData.h.