InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPathStroker.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: jargast
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 // Defines the stroker service interface
24 //
25 //========================================================================================
26 
27 #ifndef __IPathStroker__
28 #define __IPathStroker__
29 
30 #include "IPMUnknown.h"
31 #include "PMRect.h"
32 #include "GraphicsID.h"
33 
34 class IPathGeometry;
35 class IPathPort;
36 class IGraphicsPort;
38 class PMMatrix;
39 class PMString;
41 
45 class IPathStroker : public IPMUnknown
46 {
47 public:
48  enum { kDefaultIID = IID_IPATHSTROKER };
49 
72  virtual ErrorCode StrokePath
73  (
74  IGraphicStyleDescriptor* pageitem,
75  const IPathGeometry* srcPath,
76  IGraphicsPort* gPort
77  ) const = 0;
78 
94  virtual bool16 InStroke
95  (
96  IGraphicStyleDescriptor* pageitem,
97  const IPathGeometry* srcPath,
98  const PMRect& r,
99  IGraphicsPort* gPort
100  ) const = 0;
101 
123  virtual PMRect GetStrokePathBBox
124  (
125  IGraphicStyleDescriptor* pageitem,
126  const PMReal& strokeWeight,
127  const PMReal& miterLimit,
128  int32 lineCap,
129  int32 joinType,
130  const IPathGeometry* srcPath,
131  const PMMatrix& theMatrix
132  ) const = 0;
133 
157  (
158  IGraphicStyleDescriptor* pageitem,
159  const PMReal& strokeWeight,
160  const PMReal& miterLimit,
161  int32 lineCap,
162  int32 joinType,
163  const IPathGeometry* srcPath,
164  const PMMatrix& theMatrix
165  ) const = 0;
166 
174  virtual void GetPathStrokerName
175  (
176  PMString* pathStrokerName
177  ) const = 0;
178 
187  virtual bool16 GetOptionsPanelRsrc
188  (
189  PluginID* retPluginID,
190  RsrcID* retRsrcID
191  ) const = 0;
192 
205  virtual ErrorCode StrokePathForUI
206  (
207  const IPathGeometry *srcPath,
208  IGraphicsPort *gPort,
209  PMReal const &strokeWidth
210  ) const = 0;
211 };
212 
213 
214 #endif