InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPageSizes.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Tommy Donovan
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 // IPageSizes is an interface that is part of allows for
24 // installable page sizes. The installed page sizes will appear
25 // in the Page Setup dialog popup list. Any number of page sizes
26 // may be implemented in this interface.
27 //
28 //========================================================================================
29 
30 #ifndef __IPAGESIZES__
31 #define __IPAGESIZES__
32 
33 #include "IPMUnknown.h"
34 #include "SpreadID.h"
35 #include "PMPageSize.h"
36 class PMString;
37 
38 class IPageSizes : public IPMUnknown
39 {
40 public:
41  enum { kDefaultIID = IID_IPAGESIZES };
42 
43  enum PageSizeIntent {
44  kAll = -1,
45  kPrintOnly = 1,
46  kWebOnly = 2,
47  kMobileOnly = 4,
48  kDigital = kWebOnly + kMobileOnly
49  };
50 
53  virtual int32 GetPageSizeCount() = 0;
54 
57  virtual void GetNthPageSizeName(int32 pageSizeIndex, PMString* pPageSizeName) = 0;
58 
61  virtual PMPageSize GetNthPageSize(int32 pageSizeIndex) = 0;
62 
67  virtual void GetNthPageSizeIntent(int32 pageSizeIndex, PageSizeIntent* intent) = 0;
68 };
69 
70 
71 #endif // __IPAGESIZES__
72