]> www.fi.muni.cz Git - evince.git/blob - pdf/splash/SplashFTFont.h
7628a2bad2752a549db07ad32f6701a0e436d126
[evince.git] / pdf / splash / SplashFTFont.h
1 //========================================================================
2 //
3 // SplashFTFont.h
4 //
5 //========================================================================
6
7 #ifndef SPLASHFTFONT_H
8 #define SPLASHFTFONT_H
9
10 #include <aconf.h>
11
12 #if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
13
14 #ifdef USE_GCC_PRAGMAS
15 #pragma interface
16 #endif
17
18 #include <freetype/freetype.h>
19 #include "SplashFont.h"
20
21 class SplashFTFontFile;
22
23 //------------------------------------------------------------------------
24 // SplashFTFont
25 //------------------------------------------------------------------------
26
27 class SplashFTFont: public SplashFont {
28 public:
29
30   SplashFTFont(SplashFTFontFile *fontFileA, SplashCoord *matA);
31
32   virtual ~SplashFTFont();
33
34   // Munge xFrac and yFrac before calling SplashFont::getGlyph.
35   virtual GBool getGlyph(int c, int xFrac, int yFrac,
36                          SplashGlyphBitmap *bitmap);
37
38   // Rasterize a glyph.  The <xFrac> and <yFrac> values are the same
39   // as described for getGlyph.
40   virtual GBool makeGlyph(int c, int xFrac, int yFrac,
41                           SplashGlyphBitmap *bitmap);
42
43   // Return the path for a glyph.
44   virtual SplashPath *getGlyphPath(int c);
45
46 private:
47
48   FT_Size sizeObj;
49   FT_Matrix matrix;
50 };
51
52 #endif // HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
53
54 #endif