InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IWaxRunShape.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Ric Kamicar
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 __IWaxRunShape__
25 #define __IWaxRunShape__
26 
27 #include "IPMUnknown.h"
28 #include "PMMatrix.h"
29 #include "DrawPassInfo.h"
30 #include "TextID.h"
31 
32 class IGraphicsContext;
33 
38 class IWaxRunShape : public IPMUnknown
39 {
40 public:
41  enum { kDefaultIID = IID_IWAXRUNSHAPE };
42 
43 
72  virtual void GetInkBounds(PMRect* pInkBounds, Text::DrawPassInfoList* passList) const = 0;
73 
89  virtual void GetWaxBounds(int32 offset, int32 length, K2Vector<PMPolygon4> *pSetOfBounds) const = 0;
90 
106  virtual bool16 GetHighlightBounds(int32 offset, int32 length, K2Vector<PMPolygon4> *pSetOfBounds, PMRect& highlightAdjust, const PMLineSeg& maxTopBottom) const = 0;
107 
108  virtual bool16 GetHighlightBoundsME(int32 runGlyphStartIndex, int32 start, int32 startInner, int32 end, int32 endInner,
109  K2Vector<PMPolygon4> *pSetOfBounds, PMRect& highlightAdjust, const PMLineSeg& maxTopBottom) const = 0;
110 
120  virtual bool16 GetSelectionLine(PMLineSeg* pSelectionLine) const = 0;
121 
131  virtual bool16 GetHighlightLine(PMLineSeg* pHighlightLine, const PMLineSeg& maxTopBottom) const = 0;
132 
133 
141  virtual void GetCaretLineAt(int32 offset, PMLineSeg* pCaretLine, const PMLineSeg& maxTopBottom) const = 0;
142 
145  virtual int32 GetSelectionMode() const = 0;
148  virtual void SetSelectionMode(int32 mode) = 0;
149 
151  enum {
153  kFlag_IsFirstStacked = 0x00000001,
155  kFlag_IsLastStacked = 0x00000002,
156 
159  } WaxRunFlags;
160 
162  virtual int32 GetFlags() const = 0;
164  virtual void SetFlags(int32 flags) = 0; // Caller must do any ANDing or ORing.
165 
170  virtual void GetBorderShadingHeight(int32 mode, PMLineSeg* pShadingHeight) const = 0;
171 
172 };
173 
174 #endif