InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IKerningOnTheFly.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Margret_Albrecht
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 __IKerningOnTheFly__
25 #define __IKerningOnTheFly__
26 
27 #include "IPMUnknown.h"
28 #include "CTextEnum.h"
29 
30 class IkfStyle;
31 class IDrawingStyle;
32 class PMRealGlyphPoint;
33 
34 
39 {
40  public:
41 
48  virtual PMReal LeftSideKerning(IkfStyle *style, const PMReal& bodySize, Text::GlyphID g) = 0;
49 
56  virtual PMReal RightSideKerning(IkfStyle *style, const PMReal& bodySize, Text::GlyphID g) = 0;
57 
58  virtual bool16 SingleStyleKerns(IkfStyle *style, const Text::GlyphID *glyphs,
59  PMReal *xkerns, PMReal *yKerns, int32 bufSize) = 0;
60  virtual bool16 SingleStyleKerns(IkfStyle *style, PMRealGlyphPoint *strikes, int32 bufSize, double xScale = 1.0) = 0;
61  virtual bool16 SingleStyleKern(IkfStyle *style, Text::GlyphID g1,
62  Text::GlyphID g2, PMReal *xk, PMReal *yk) = 0;
63  virtual bool16 MultiStyleKern(IkfStyle *style1, Text::GlyphID g1,
64  IkfStyle *style2, Text::GlyphID g2, PMReal *xk, PMReal *yk) = 0;
65 
66  virtual PMReal GetParStyleSize() = 0;
67  virtual void SetParStyle(const IDrawingStyle * parStyle) = 0;
68  virtual IkfStyle* GetkfStyle(const IDrawingStyle *style) = 0;
69  virtual void EmptyCache() = 0;
70 };
71 
72 
73 #endif // __IKerningOnTheFly__