InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
HypHyphenatedWord.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Adobe Developer Technologies
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 __HypHyphenatedWord__
25 #define __HypHyphenatedWord__
26 
27 #include "Hyp.h"
28 
29 // Forward declarations:
30 class WideString;
31 class PMString;
32 class HypHyphenationPair;
33 class IHyphenatedWord;
34 class TextCharBuffer;
35 
44 {
45  public:
54  HypHyphenatedWord(const TextCharBuffer& originalWord, const uint16 nMinTail, const uint16 nMinHead, const Hyp::HyphenationPoints& hyphenationPoints);
55 
58  virtual ~HypHyphenatedWord();
59 
60  public:
63  virtual int32 GetPointCount() const;
64 
69  virtual int32 GetIndexOfPoint(int32 nNthPoint) const;
70 
74  virtual int32 GetQualityOfPoint(int32 nNthPoint) const;
75 
78  virtual WideString GetWord() const;
79 
85  virtual void GetPartsOfPoint(int32 nNthPoint, WideString* pFirstPart, WideString* pLastPart) const;
86 
91  virtual void GetFirstPartOfPoint(int32 nNthPoint, WideString* pPart) const;
92 
97  virtual void GetLastPartOfPoint(int32 nNthPoint, WideString* pPart) const;
98 
102  virtual void Merge(const IHyphenatedWord* pToMergeWith);
103 
108  virtual void ValidatePointRanges();
109 
110  private:
111  const TextCharBuffer fOriginalWord;
112  const uint16 fnMinTail;
113  const uint16 fnMinHead;
114  Hyp::HyphenationPoints fHyphenationPoints;
115 };
116 
117 #endif // __HypHyphenatedWord__