1
0
Fork 0

FontEngine: remove hinting (exists in FontDescripion class) and let child classes handle it.

This commit is contained in:
Henrik Hautakoski 2020-01-06 00:19:12 +01:00
parent 6e14209aae
commit f72178ffd0
No known key found for this signature in database
GPG key ID: 96765B12FEAC4745
5 changed files with 8 additions and 31 deletions

View file

@ -154,9 +154,9 @@ local graphics_module = Module("source/Graphics", {
"Texture.cpp", "Texture.cpp",
-- Text -- Text
"Font/Engine/FontEngine.cpp",
"Font/Engine/FreeTypeEngine.cpp", "Font/Engine/FreeTypeEngine.cpp",
"Font/Engine/FreeTypeError.cpp", "Font/Engine/FreeTypeError.cpp",
"Font/FontDescription.cpp",
"Font.cpp", "Font.cpp",
"Text.cpp", "Text.cpp",

View file

@ -1,16 +0,0 @@
#include "FontEngine.h"
namespace sp {
FontEngine::FontEngine() :
m_hinting (true)
{
}
void FontEngine::setHinting(bool value)
{
m_hinting = value;
}
} // namespace sp

View file

@ -12,11 +12,6 @@ namespace sp {
class FontEngine class FontEngine
{ {
public : public :
FontEngine();
void setHinting(bool value);
virtual bool setCharacterSize(unsigned int size) = 0; virtual bool setCharacterSize(unsigned int size) = 0;
virtual bool loadFromFile(const std::string& filename) = 0; virtual bool loadFromFile(const std::string& filename) = 0;
@ -24,11 +19,6 @@ public :
virtual Glyph loadGlyph(unsigned int codepoint, Image& img, unsigned int outlineSize = 0) = 0; virtual Glyph loadGlyph(unsigned int codepoint, Image& img, unsigned int outlineSize = 0) = 0;
virtual std::string getName() = 0; virtual std::string getName() = 0;
protected :
// True if hinting is enabled. false otherwise.
bool m_hinting;
}; };
} // namespace sp } // namespace sp

View file

@ -58,8 +58,9 @@ LibWrapper::~LibWrapper()
} }
} }
FreeTypeEngine::FreeTypeEngine() : FreeTypeEngine::FreeTypeEngine(FontDescription desc) :
m_face (NULL) m_face (NULL),
m_desc (desc)
{ {
} }
@ -113,7 +114,7 @@ Glyph FreeTypeEngine::loadGlyph(unsigned int codepoint, Image& img, unsigned int
flags |= FT_LOAD_NO_BITMAP; flags |= FT_LOAD_NO_BITMAP;
} }
if (m_hinting) { if (m_desc.isHintingEnabled()) {
flags |= FT_LOAD_FORCE_AUTOHINT; flags |= FT_LOAD_FORCE_AUTOHINT;
} else { } else {
flags |= FT_LOAD_NO_AUTOHINT; flags |= FT_LOAD_NO_AUTOHINT;

View file

@ -6,6 +6,7 @@
#include FT_FREETYPE_H #include FT_FREETYPE_H
#include <string> #include <string>
#include <Spectre/Graphics/Font/FontDescription.h>
#include "FontEngine.h" #include "FontEngine.h"
namespace sp { namespace sp {
@ -13,7 +14,7 @@ namespace sp {
class FreeTypeEngine : public FontEngine class FreeTypeEngine : public FontEngine
{ {
public: public:
FreeTypeEngine(); FreeTypeEngine(FontDescription desc = FontDescription());
~FreeTypeEngine(); ~FreeTypeEngine();
virtual bool setCharacterSize(unsigned int size); virtual bool setCharacterSize(unsigned int size);
@ -27,6 +28,7 @@ public:
private : private :
FT_Face m_face; FT_Face m_face;
FontDescription m_desc;
}; };
} // namespace sp } // namespace sp