InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITransformFacade.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael Martz
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 // Note:
24 //
25 //========================================================================================
26 
27 #ifndef __ITransformFacade__
28 #define __ITransformFacade__
29 
30 #include "TransformTypes.h"
31 #include "GenericID.h"
32 #include "IScaleObject.h"
33 
34 class AutomationContext;
35 class AutomationTargetingData;
36 class ISelectionManager;
37 class PathSelectionList;
38 class IScriptRequestData;
39 
40 namespace Facade
41  {
43  {
44  public:
45  enum { kDefaultIID = IID_ITRANSFORMFACADE };
46 
47 
48 
54  virtual bool16 ItemsHaveTransformValues( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, uint32 valuesOfInterest) const = 0;
55 
61  virtual bool16 CanChangeItemsTransformValues( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, uint32 valuesOfInterest) const = 0;
62 
69  virtual void GetItemsScale( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMReal>* xResults, K2Vector<PMReal>* yResults) const = 0;
70 
76  virtual void GetItemsScale( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMPoint>& results) const = 0;
77 
83  virtual void GetItemsSkewAngle( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMReal>& results) const = 0;
84 
90  virtual void GetItemsRotationAngle( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMReal>& results) const = 0;
91 
92 
99  virtual void GetItemsTranslation( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMReal>* xResults, K2Vector<PMReal>* yResults) const = 0;
100 
106  virtual void GetItemsTranslation( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMPoint>& results) const = 0;
107 
113  virtual void GetItemsTransform( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace, K2Vector<PMMatrix>& results) const = 0;
114 
115 
116 
117 
118 
125  virtual ErrorCode TransformItems
126  (
127  const UIDList& items,
128  const Transform::CoordinateSpace& coordinateSpace,
129  const Transform::TransformOrigin& referencePoint,
130  const Transform::TransformValue& xform,
131  Transform::ScaleMethod scaleMethod = Transform::ConsultScalingPreference()
132  ) = 0;
133 
134 
141  virtual ErrorCode TransformPathPoints
142  (
143  const PathSelectionList& pathPoints,
144  const Transform::CoordinateSpace& coordinateSpace,
145  const Transform::TransformOrigin& referencePoint,
146  const Transform::TransformValue& xform
147  ) = 0;
148 
149 
156  virtual ErrorCode ConstructTransformScriptMethod
157  (
158  IScriptRequestData* scriptRequestData,
159  const Transform::CoordinateSpace& coordinateSpace,
160  const Transform::TransformOrigin& referencePoint,
161  const Transform::TransformValue& xform
162  ) = 0;
163 
164 #ifdef ID_DEPRECATED
165 
172  virtual ErrorCode RecordTransform
173  (
174  AutomationContext* automationContext,
175  const Transform::CoordinateSpace& coordinateSpace,
176  const Transform::TransformOrigin& referencePoint,
177  const Transform::TransformValue& xform,
178  Transform::Target doDuplicate = Transform::OriginalItems()
179  ) = 0;
180 
181 
188  virtual ErrorCode AddTransformActionAtom
189  (
190  AutomationContext* automationContext,
191  const Transform::CoordinateSpace& coordinateSpace,
192  const Transform::TransformOrigin& referencePoint,
193  const Transform::TransformValue& xform,
194  AutomationTargetingData*
195  ) = 0;
196 #endif
197 
198 
199 
200 
205  virtual int32 GetTransformItemsCount( const UIDList& items) const = 0;
206 
207 
208 
213  virtual bool16 CanRedefineItemsScaling( const UIDList& items) const = 0;
214 
219  virtual bool16 CanRedefineItemsScalingAs( const UIDList& items, PMReal xScale, PMReal yScale) const = 0;
220 
225  virtual ErrorCode RedefineItemsScaling( const UIDList& items) = 0;
226 
234  virtual ErrorCode RedefineItemsScalingAs( IScaleObject::ScaleContext* optionalContext, const UIDList& items, PMReal xScale, PMReal yScale) = 0;
235 
240  virtual bool16 CanRemoveItemsTransformations( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace) const = 0;
241 
246  virtual ErrorCode RemoveItemsTransformations( const UIDList& items, const Transform::CoordinateSpace& coordinateSpace) = 0;
247 
248 
249 
254  virtual ErrorCode ProcessTransformAgainSentinelCommand( IDataBase* iDataBase) = 0;
255 
259 
263 
264  };
265 }
266 #endif // __ITransformFacade__