InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ISmartDimensions.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Dave Stephens
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // ADOBE CONFIDENTIAL
16 //
17 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
18 //
19 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
20 // with the terms of the Adobe license agreement accompanying it. If you have received
21 // this file from a source other than Adobe, then your use, modification, or
22 // distribution of it requires the prior written permission of Adobe.
23 //
24 //========================================================================================
25 
26 #ifndef __ISmartDimensions__
27 #define __ISmartDimensions__
28 
29 #include "IPMUnknown.h"
30 #include "ISnapTo.h"
31 
32 #include "SpreadUIID.h"
33 
34 class ISpread;
35 class PMPoint;
36 class PMLineSeg;
37 
39 {
40 public:
41  enum { kDefaultIID = IID_ISMARTDIMENSIONS };
42 
45  virtual void Clear() = 0;
46 
50  virtual void SetDataBase(IDataBase *db) = 0;
51 
57  virtual void AddInfo(const UID& pageItem, const PBPMRect& bbox, const PMMatrix& xform) = 0;
58 
62  //virtual void AddInfo(const ISmartDimensions* source) = 0;
63 
71  virtual int32 GetItemsMatchingWidth(const PMReal& targetWidth, UIDList& matchingItems) const = 0;
72 
80  virtual int32 GetItemsMatchingHeight(const PMReal& targetHeight, UIDList& matchingItems) const = 0;
81 
89  virtual int32 GetItemsMatchingRotation(const PMReal& targetRotation, UIDList& matchingItems) const = 0;
90 
97  virtual PMReal GetClosestWidth(const PMReal& targetWidth, const UIDList& ignoreList) const = 0;
98 
105  virtual PMReal GetClosestHeight(const PMReal& targetHeight, const UIDList& ignoreList) const = 0;
106 
113  virtual PMReal GetClosestRotation(const PMReal& targetRotation, const UIDList& ignoreList) const = 0;
114 };
115 
116 #endif