InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPathPointScriptUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Paul Sorrick
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 
24 #ifndef __IPathPointScriptUtils__
25 #define __IPathPointScriptUtils__
26 
27 #include "SplineID.h"
28 #include "IPMUnknown.h"
29 #include "Utils.h"
30 
31 #include "IPageItemScriptUtils.h"
32 
33 class ICommand ;
34 class IPathGeometry ;
35 class IScriptRequestData;
36 
46 {
47 public:
48  enum { kDefaultIID = IID_IPATHPOINTSCRIPTUTILS } ;
49 
57  virtual IScript* QueryNthPath( const IScriptRequestData* data, IScript* pageitem, int32 n ) const = 0 ;
65  virtual IScript* QueryNthPoint( const IScriptRequestData* data, IScript* path, int32 n ) const = 0 ;
66 
75  virtual IPMUnknown* QueryParentForInterface( IScript* script, PMIID iid, const RequestContext& context ) const = 0 ;
76 
82  virtual int32 GetPathIndex( IScript* pathOrPoint ) const = 0 ;
88  virtual int32 GetPointIndex( IScript* point ) const = 0 ;
89 
101  virtual ErrorCode AccessPoint_Get( IScriptRequestData* data,
102  IPathGeometry* pathGeom,
103  int32 pathIndex,
104  int32 pointIndex,
105  PathPointIndex ptIndex,
106  const PMPoint& offsetPoint,
107  ScriptData& scriptData ) const = 0 ;
119  virtual ErrorCode AccessPoint_Set( IScriptRequestData* data,
120  IPathGeometry* pathGeom,
121  int32 pathIndex,
122  int32 pointIndex,
123  PathPointIndex ptIndex,
124  const PMPoint& offsetPoint,
125  const ScriptData& scriptData ) const = 0 ;
126 
136  virtual ICommand* CreateModifyTypeCmd( IPathGeometry* pathGeom,
137  int32 pathIndex,
138  int32 pointIndex,
139  PMPathPointType type,
140  bool16 symmetrical = kFalse) const = 0 ;
150  virtual ICommand* CreateModifyPointCmd( IPathGeometry* pathGeom,
151  int32 pathIndex,
152  int32 pointIndex,
153  PathPointIndex ptIndex,
154  const PBPMPoint& pt ) const = 0 ;
155 
166  IPathGeometry* pathGeom,
167  int32 pathIndex,
168  const PMPoint& offsetPoint,
169  ScriptListData& listData ) const = 0 ;
170 } ;
171 
172 #endif // __IPathPointScriptUtils__