You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.4 KiB
59 lines
1.4 KiB
//========================================================================
|
|
//
|
|
// SplashFTFont.h
|
|
//
|
|
//========================================================================
|
|
|
|
#ifndef SPLASHFTFONT_H
|
|
#define SPLASHFTFONT_H
|
|
|
|
#include <aconf.h>
|
|
|
|
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
|
|
|
|
#ifdef USE_GCC_PRAGMAS
|
|
#pragma interface
|
|
#endif
|
|
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
#include "SplashFont.h"
|
|
|
|
class SplashFTFontFile;
|
|
|
|
//------------------------------------------------------------------------
|
|
// SplashFTFont
|
|
//------------------------------------------------------------------------
|
|
|
|
class SplashFTFont: public SplashFont {
|
|
public:
|
|
|
|
SplashFTFont(SplashFTFontFile *fontFileA, SplashCoord *matA,
|
|
SplashCoord *textMatA);
|
|
|
|
virtual ~SplashFTFont();
|
|
|
|
// Munge xFrac and yFrac before calling SplashFont::getGlyph.
|
|
virtual GBool getGlyph(int c, int xFrac, int yFrac,
|
|
SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
|
|
|
|
// Rasterize a glyph. The <xFrac> and <yFrac> values are the same
|
|
// as described for getGlyph.
|
|
virtual GBool makeGlyph(int c, int xFrac, int yFrac,
|
|
SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
|
|
|
|
// Return the path for a glyph.
|
|
virtual SplashPath *getGlyphPath(int c);
|
|
|
|
private:
|
|
|
|
FT_Size sizeObj;
|
|
FT_Matrix matrix;
|
|
FT_Matrix textMatrix;
|
|
SplashCoord textScale;
|
|
};
|
|
|
|
#endif // HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
|
|
|
|
#endif
|