Moved more Font code out of the FreeType implementation files.

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2015-02-16 03:12:47 -04:00
parent e8286de1f3
commit fb79788d74
4 changed files with 14 additions and 16 deletions
+13
View File
@@ -30,6 +30,19 @@ namespace love
namespace font
{
// Default TrueType font.
#include "Vera.ttf.h"
Rasterizer *Font::newTrueTypeRasterizer(int size)
{
StrongRef<filesystem::FileData> data(new filesystem::FileData(sizeof(Vera_ttf), "Vera.ttf"));
data->release();
memcpy(data->getData(), Vera_ttf, sizeof(Vera_ttf));
return newTrueTypeRasterizer(data.get(), size);
}
Rasterizer *Font::newBMFontRasterizer(love::filesystem::FileData *fontdef, const std::vector<image::ImageData *> &images)
{
return new BMFontRasterizer(fontdef, images);
+1 -1
View File
@@ -46,7 +46,7 @@ public:
virtual Rasterizer *newRasterizer(love::filesystem::FileData *data) = 0;
virtual Rasterizer *newTrueTypeRasterizer(int size) = 0;
virtual Rasterizer *newTrueTypeRasterizer(int size);
virtual Rasterizer *newTrueTypeRasterizer(love::filesystem::FileData *data, int size) = 0;
virtual Rasterizer *newBMFontRasterizer(love::filesystem::FileData *fontdef, const std::vector<image::ImageData *> &images);
-13
View File
@@ -32,9 +32,6 @@ namespace font
namespace freetype
{
// Default TrueType font.
#include "font/Vera.ttf.h"
Font::Font()
{
if (FT_Init_FreeType(&library))
@@ -56,16 +53,6 @@ Rasterizer *Font::newRasterizer(love::filesystem::FileData *data)
throw love::Exception("Invalid font file: %s", data->getFilename().c_str());
}
Rasterizer *Font::newTrueTypeRasterizer(int size)
{
StrongRef<filesystem::FileData> data(new filesystem::FileData(sizeof(Vera_ttf), "Vera.ttf"));
data->release();
memcpy(data->getData(), Vera_ttf, sizeof(Vera_ttf));
return new TrueTypeRasterizer(library, data.get(), size);
}
Rasterizer *Font::newTrueTypeRasterizer(love::filesystem::FileData *data, int size)
{
return new TrueTypeRasterizer(library, data, size);
-2
View File
@@ -45,8 +45,6 @@ public:
// Implements Font
Rasterizer *newRasterizer(love::filesystem::FileData *data);
Rasterizer *newTrueTypeRasterizer(int size);
Rasterizer *newTrueTypeRasterizer(love::filesystem::FileData *data, int size);
// Implement Module