2015-11-21 23:45:02 +00:00
|
|
|
#ifndef SPECTER_FONTCACHE_HPP
|
|
|
|
#define SPECTER_FONTCACHE_HPP
|
|
|
|
|
|
|
|
#include <ft2build.h>
|
|
|
|
#include FT_FREETYPE_H
|
|
|
|
|
2015-11-22 04:32:12 +00:00
|
|
|
#include <boo/boo.hpp>
|
|
|
|
#include <HECL/Runtime.hpp>
|
|
|
|
|
2015-11-21 23:45:02 +00:00
|
|
|
namespace Specter
|
|
|
|
{
|
|
|
|
|
2015-11-22 04:32:12 +00:00
|
|
|
class FontHandle
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
class FontAtlas
|
|
|
|
{
|
|
|
|
FT_Face m_face;
|
|
|
|
std::vector<boo::ITextureS*> m_texs;
|
|
|
|
};
|
|
|
|
|
2015-11-21 23:45:02 +00:00
|
|
|
class FontCache
|
|
|
|
{
|
2015-11-22 04:32:12 +00:00
|
|
|
const HECL::Runtime::FileStoreManager& m_fileMgr;
|
|
|
|
FT_Library m_fontLib;
|
|
|
|
FT_Face m_regFace;
|
|
|
|
FT_Face m_monoFace;
|
|
|
|
public:
|
|
|
|
FontCache(const HECL::Runtime::FileStoreManager& fileMgr);
|
|
|
|
~FontCache();
|
|
|
|
|
|
|
|
FontHandle prepMainFont(float points=10.0);
|
|
|
|
FontHandle prepMonoFont(float points=10.0);
|
|
|
|
FontHandle prepCustomFont(FT_Face face, float points=10.0);
|
2015-11-21 23:45:02 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // SPECTER_FONTCACHE_HPP
|