mirror of
https://github.com/love2d/love.git
synced 2026-08-16 00:02:12 +02:00
Oops, didn't have a clean tree
This commit is contained in:
@@ -73,4 +73,4 @@ namespace freetype
|
||||
} // font
|
||||
} // love
|
||||
|
||||
#endif // LOVE_FONT_FREETYPE_FONT_H
|
||||
#endif // LOVE_FONT_FREETYPE_FONT_H
|
||||
@@ -51,15 +51,10 @@ namespace freetype
|
||||
metrics.ascent = s.ascender >> 6;
|
||||
metrics.descent = s.descender >> 6;
|
||||
metrics.height = s.height >> 6;
|
||||
|
||||
ref = WeakReference::obtain(this);
|
||||
}
|
||||
|
||||
TrueTypeRasterizer::~TrueTypeRasterizer()
|
||||
{
|
||||
ref->destroy();
|
||||
ref->release();
|
||||
|
||||
FT_Done_Face(face);
|
||||
data->release();
|
||||
}
|
||||
@@ -121,4 +116,4 @@ namespace freetype
|
||||
|
||||
} // freetype
|
||||
} // font
|
||||
} // love
|
||||
} // love
|
||||
@@ -24,7 +24,6 @@
|
||||
// LOVE
|
||||
#include <filesystem/File.h>
|
||||
#include <font/Rasterizer.h>
|
||||
#include <common/WeakReference.h>
|
||||
|
||||
// TrueType2
|
||||
#include <ft2build.h>
|
||||
@@ -52,8 +51,6 @@ namespace freetype
|
||||
|
||||
// File data
|
||||
Data * data;
|
||||
|
||||
WeakReference * ref;
|
||||
|
||||
public:
|
||||
TrueTypeRasterizer(FT_Library library, Data * data, int size);
|
||||
@@ -70,4 +67,4 @@ namespace freetype
|
||||
} // font
|
||||
} // love
|
||||
|
||||
#endif // LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H
|
||||
#endif // LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H
|
||||
@@ -49,7 +49,7 @@ namespace freetype
|
||||
int size = luaL_checkint(L, 2);
|
||||
t = instance->newRasterizer(d, size);
|
||||
}
|
||||
|
||||
|
||||
luax_newtype(L, "Rasterizer", FONT_RASTERIZER_T, t);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -40,9 +40,9 @@ namespace opengl
|
||||
{
|
||||
|
||||
Font::Font(love::font::Rasterizer * r, const Image::Filter& filter)
|
||||
: height(r->getHeight()), lineHeight(1), mSpacing(1), filter(filter)
|
||||
: rasterizer(r), height(r->getHeight()), lineHeight(1), mSpacing(1), filter(filter)
|
||||
{
|
||||
rasterizer = WeakReference::obtain(r);
|
||||
r->retain();
|
||||
love::font::GlyphData * gd = r->getGlyphData(32);
|
||||
type = (gd->getFormat() == love::font::GlyphData::FORMAT_LUMINANCE_ALPHA ? FONT_TRUETYPE : FONT_IMAGE);
|
||||
delete gd;
|
||||
@@ -51,7 +51,6 @@ namespace opengl
|
||||
|
||||
Font::~Font()
|
||||
{
|
||||
rasterizer->destroy();
|
||||
rasterizer->release();
|
||||
unloadVolatile();
|
||||
}
|
||||
@@ -84,15 +83,13 @@ namespace opengl
|
||||
|
||||
Font::Glyph * Font::addGlyph(int glyph)
|
||||
{
|
||||
if (!rasterizer->isValid) return 0;
|
||||
love::font::Rasterizer *r = (love::font::Rasterizer*) rasterizer->getData();
|
||||
Glyph * g = new Glyph;
|
||||
g->list = glGenLists(1);
|
||||
if (g->list == 0) { // opengl failed to generate the list
|
||||
delete g;
|
||||
return NULL;
|
||||
}
|
||||
love::font::GlyphData *gd = r->getGlyphData(glyph);
|
||||
love::font::GlyphData *gd = rasterizer->getGlyphData(glyph);
|
||||
g->spacing = gd->getAdvance();
|
||||
int w = gd->getWidth();
|
||||
int h = gd->getHeight();
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
|
||||
// LOVE
|
||||
#include <common/Object.h>
|
||||
#include <common/WeakReference.h>
|
||||
#include <font/Rasterizer.h>
|
||||
#include <graphics/Image.h>
|
||||
|
||||
@@ -57,7 +56,7 @@ namespace opengl
|
||||
int spacing;
|
||||
};
|
||||
|
||||
WeakReference *rasterizer;
|
||||
love::font::Rasterizer * rasterizer;
|
||||
|
||||
int height;
|
||||
float lineHeight;
|
||||
|
||||
Reference in New Issue
Block a user