InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IStrokeAttributeSuite.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: SusanCL
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 // This is a high level attribute suite specifically to faciliate getting/setting of simple
24 // stroke attributes. It uses the IGraphicAttributeSuite to get/set appropriate data.
25 //
26 //========================================================================================
27 
28 #ifndef _IStrokeAttributeSuite_
29 #define _IStrokeAttributeSuite_
30 //========================================================================================
31 //________________________________________________________________________________________
32 // INCLUDES
33 //________________________________________________________________________________________
34  #include "GraphicStylesID.h"
35  #include "ShuksanID.h"
36  #include "K2Vector.h"
37 
38  #include "IGraphicAttributeSuite.h"
39 //========================================================================================
40 //________________________________________________________________________________________
41 // CLASS DECLARATIONS
42 //________________________________________________________________________________________
43 
62  {
63  //____________________________________________________________________________________
64  // Data Types
65  //____________________________________________________________________________________
66  public:
67  enum { kDefaultIID = IID_ISTROKEATTRIBUTESUITE };
68 
69  //____________________________________________________________________________________
70  // Stroke Weight Utilities
71  //____________________________________________________________________________________
72  public:
75  virtual uint16 GetStrokeWeightCount (void) const = 0;
79  virtual int16 GetStrokeWeightValueCount (uint32 whichAttribute) const = 0;
83  virtual PMReal GetStrokeWeight (uint32 whichAttribute) const = 0;
87  virtual bool16 IsStrokeWeightEnabled (void) = 0;
88 
91  virtual uint16 GetVisibleStrokeWeightCount (void) = 0;
95  virtual PMReal GetVisibleStrokeWeight (uint32 whichAttribute) = 0;
96 
97  //____________________________________________________________________________________
98  // Stroke Type Utilities
99  //____________________________________________________________________________________
100  public:
103  virtual uint16 GetLineImplCount (void) const = 0;
107  virtual int16 GetLineImplValueCount (uint32 whichAttribute) const = 0;
114  virtual void GetLineImpl (uint32 whichAttribute, ClassID &implClass, UID &implUID) const = 0;
119  virtual bool16 IsLineImplEnabled (ClassID = kInvalidClass) = 0;
120 
121  //____________________________________________________________________________________
122  // Line Cap Utilities
123  //____________________________________________________________________________________
124  public:
127  virtual uint16 GetLineCapCount (void) const = 0;
131  virtual int16 GetLineCapValueCount (uint32 whichAttribute) const = 0;
135  virtual int32 GetLineCap (uint32 whichAttribute) const = 0;
139  virtual bool16 IsLineCapEnabled (void) = 0;
140 
141  //____________________________________________________________________________________
142  // Join Type Utilities
143  //____________________________________________________________________________________
144  public:
147  virtual uint16 GetJoinTypeCount (void) const = 0;
151  virtual int16 GetJoinTypeValueCount (uint32 whichAttribute) const = 0;
155  virtual int32 GetJoinType (uint32) const = 0;
159  virtual bool16 IsJoinTypeEnabled (void) = 0;
160 
161  //____________________________________________________________________________________
162  // Arrow Head Alignment Utilities
163  //____________________________________________________________________________________
164  public:
167  virtual uint16 GetArrowHeadAlignmentCount (void) const = 0;
171  virtual int16 GetArrowHeadAlignmentValueCount (uint32 whichAttribute) const = 0;
175  virtual int32 GetArrowHeadAlignment (uint32 whichAttribute) const = 0;
179  virtual bool16 IsArrowHeadAlignmentEnabled (void) = 0;
180 
181  //____________________________________________________________________________________
182  // Line Start Start Type Utilities
183  //____________________________________________________________________________________
184  public:
187  virtual uint16 GetLineStartImplClassCount (void) const = 0;
191  virtual int16 GetLineStartImplClassValueCount (uint32 whichAttribute) const = 0;
195  virtual ClassID GetLineStartImplClass (uint32 whichAttribute) const = 0;
199  virtual bool16 IsLineStartImplClassEnabled (void) = 0;
200 
201  //____________________________________________________________________________________
202  // Line End End Type Utilities
203  //____________________________________________________________________________________
204  public:
207  virtual uint16 GetLineEndImplClassCount (void) const = 0;
211  virtual int16 GetLineEndImplClassValueCount (uint32 whichAttribute) const = 0;
215  virtual ClassID GetLineEndImplClass (uint32) const = 0;
219  virtual bool16 IsLineEndImplClassEnabled (void) = 0;
220 
221  //____________________________________________________________________________________
222  // Line Corner Type Utilities
223  //____________________________________________________________________________________
224  public:
227  virtual uint16 GetCornerImplClassCount (void) const = 0;
231  virtual int16 GetCornerImplClassValueCount (uint32 whichAttribute) const = 0;
235  virtual ClassID GetCornerImplClass (uint32) const = 0;
239  virtual bool16 IsCornerImplClassEnabled (void) = 0;
240 
241  //____________________________________________________________________________________
242  // Line Corner Radius Utilities
243  //____________________________________________________________________________________
244  public:
247  virtual uint16 GetCornerRadiusCount (void) const = 0;
251  virtual int16 GetCornerRadiusValueCount (uint32 whichAttribute) const = 0;
255  virtual PMReal GetCornerRadius (uint32) const = 0;
259  virtual bool16 IsCornerRadiusEnabled (void) = 0;
260 
261  //____________________________________________________________________________________
262  // Line Miter Limit Utilities
263  //____________________________________________________________________________________
264  public:
267  virtual uint16 GetMiterLimitCount (void) const = 0;
271  virtual int16 GetMiterLimitValueCount (uint32 whichAttribute) const = 0;
275  virtual PMReal GetMiterLimit (uint32) const = 0;
279  virtual bool16 IsMiterLimitEnabled (void) = 0;
280 
281  //____________________________________________________________________________________
282  // Line Stroke Alignment Utilities
283  //____________________________________________________________________________________
284  public:
290  virtual uint16 GetStrokeAlignmentCount () const = 0;
291 
298  virtual int16 GetStrokeAlignmentValueCount (uint32 whichAttribute) const = 0;
299 
306  virtual int32 GetStrokeAlignment (uint32 whichAttribute) const = 0;
307 
319  virtual bool16 GetStrokeAlignmentsEnabledFlags (bool16* centerAlign = nil, bool16* insideAlign = nil, bool16* outsideAlign = nil) const = 0;
320 
324  virtual int32 GetDefaultStrokeAlignment () const = 0;
325 
326  //____________________________________________________________________________________
327  // Gap Color Utilities
328  //____________________________________________________________________________________
329  public:
335  virtual uint16 GetGapColorCount () const = 0;
336 
343  virtual uint16 GetGapColorValueCount (uint32 whichAttribute) const = 0;
344 
351  virtual UID GetGapColor (uint32 whichAttribute) const = 0;
352 
359  virtual bool16 IsGapColorEnabled () const = 0;
360 
361  //____________________________________________________________________________________
362  // Gap Tint Utilities
363  //____________________________________________________________________________________
364  public:
370  virtual uint16 GetGapTintCount () const = 0;
371 
378  virtual uint16 GetGapTintValueCount (uint32 whichAttribute) const = 0;
379 
386  virtual PMReal GetGapTint (uint32 whichAttribute) const = 0;
387 
394  virtual bool16 IsGapTintEnabled () const = 0;
395 
396  //____________________________________________________________________________________
397  // Arrow Head Start Scale Utilities...
398  //____________________________________________________________________________________
399  public:
402  virtual uint16 GetArrowHeadStartScaleCount(void) const = 0;
403 
407  virtual int16 GetArrowHeadStartScaleValueCount(uint32 whichAttribute) const = 0;
408 
412  virtual PMReal GetArrowHeadStartScale(uint32 whichAttribute) const = 0;
413 
417  virtual bool16 IsArrowHeadStartScaleEnabled(void) = 0;
418 
419  //____________________________________________________________________________________
420  // Arrow Head End Scale Utilities...
421  //____________________________________________________________________________________
422  public:
425  virtual uint16 GetArrowHeadEndScaleCount(void) const = 0;
426 
430  virtual int16 GetArrowHeadEndScaleValueCount(uint32 whichAttribute) const = 0;
431 
435  virtual PMReal GetArrowHeadEndScale(uint32 whichAttribute) const = 0;
439  virtual bool16 IsArrowHeadEndScaleEnabled(void) = 0;
440 
441  //____________________________________________________________________________________
442  // Other Utilities
443  //____________________________________________________________________________________
444  public:
448  virtual ErrorCode ApplyStrokeWeight (const PMReal& strokeWeight) = 0;
454  virtual ErrorCode ApplyLineImpl (const ClassID &implClass, UID const &implUID = kInvalidUID) = 0;
458  virtual ErrorCode ApplyLineCap (const int32& lineCap) = 0;
462  virtual ErrorCode ApplyJoinType (const int32& joinType) = 0;
466  virtual ErrorCode ApplyArrowHeadAlignment (const int32& arrowHeadAlignment) = 0;
470  virtual ErrorCode ApplyLineStartImplClass (const ClassID& implClass) = 0;
474  virtual ErrorCode ApplyLineEndImplClass (const ClassID& implClass) = 0;
478  virtual ErrorCode ApplyCornerImplClass (const ClassID& implClass) = 0;
482  virtual ErrorCode ApplyCornerRadius (const PMReal& radius) = 0;
486  virtual ErrorCode ApplyMiterLimit (const PMReal& miterLimit) = 0;
487 
494  virtual ErrorCode ApplyStrokeAlignment (int32 strokeAlignment) = 0;
495 
502  virtual ErrorCode ApplyGapColor (UID const &gapColorUID) = 0;
503 
510  virtual ErrorCode ApplyGapTint (PMReal const &tint) = 0;
511 
518  virtual ErrorCode ApplyArrowHeadStartScale (const PMReal& arrowHeadScaleFactor) = 0;
519 
527  virtual ErrorCode ApplyArrowHeadEndScale (const PMReal& arrowHeadScaleFactor) = 0;
528 
529  };
530 
531 #endif // _IStrokeAttributeSuite_