XPlor/libs/xassets/xfont.cpp
2025-09-07 23:15:54 -04:00

62 lines
1.2 KiB
C++

#include "xfont.h"
XFont::XFont()
: XAsset()
, mFontName()
, mPixelHeight(0)
, mGlyphCount(0)
, mMaterial()
, mGlowMaterial()
, mGlyphs()
{
SetType(ASSET_TYPE_FONT);
SetName("Font");
}
XFont::~XFont()
{
}
void XFont::Clear()
{
mFontName.Clear();
mPixelHeight = 0;
mGlyphCount = 0;
mMaterial.Clear();
mGlowMaterial.Clear();
mGlyphs.clear();
}
void XFont::ParseData(QDataStream *aStream)
{
if (GetPtr() == -1)
{
mFontName.ParsePtr(aStream, false);
qint32 glyphsPtr;
*aStream
>> mPixelHeight
>> mGlyphCount;
mMaterial.ParsePtr(aStream, false);
mGlowMaterial.ParsePtr(aStream, false);
*aStream >> glyphsPtr;
mFontName.ParseData(aStream);
mMaterial.ParseData(aStream);
mGlowMaterial.ParseData(aStream);
if (glyphsPtr == -1)
{
for (int i = 0; i < mGlyphCount; i++)
{
XGlyph newGlyph;
newGlyph.ParseData(aStream);
mGlyphs.append(newGlyph);
}
}
}
}