XPlor/libs/xassets/xfont.cpp

62 lines
1.2 KiB
C++
Raw Normal View History

2025-09-05 21:26:12 +00:00
#include "xfont.h"
XFont::XFont()
: XAsset()
2025-09-07 23:15:54 -04:00
, mFontName()
2025-09-05 21:26:12 +00:00
, mPixelHeight(0)
, mGlyphCount(0)
2025-09-07 23:15:54 -04:00
, mMaterial()
, mGlowMaterial()
2025-09-05 21:26:12 +00:00
, mGlyphs()
{
SetType(ASSET_TYPE_FONT);
SetName("Font");
}
XFont::~XFont()
{
}
void XFont::Clear()
{
2025-09-07 23:15:54 -04:00
mFontName.Clear();
2025-09-05 21:26:12 +00:00
mPixelHeight = 0;
mGlyphCount = 0;
2025-09-07 23:15:54 -04:00
mMaterial.Clear();
mGlowMaterial.Clear();
2025-09-05 21:26:12 +00:00
mGlyphs.clear();
}
void XFont::ParseData(QDataStream *aStream)
{
2025-09-07 23:15:54 -04:00
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);
}
}
}
2025-09-05 21:26:12 +00:00
}