Updated xfont

This commit is contained in:
njohnson 2025-09-07 23:15:54 -04:00
parent b77e6e8077
commit 4677ab9637
2 changed files with 37 additions and 10 deletions

View File

@ -2,11 +2,11 @@
XFont::XFont()
: XAsset()
, mFontName("")
, mFontName()
, mPixelHeight(0)
, mGlyphCount(0)
, mMaterial(new XMaterial())
, mGlowMaterial(new XMaterial())
, mMaterial()
, mGlowMaterial()
, mGlyphs()
{
SetType(ASSET_TYPE_FONT);
@ -20,15 +20,42 @@ XFont::~XFont()
void XFont::Clear()
{
mFontName = "";
mFontName.Clear();
mPixelHeight = 0;
mGlyphCount = 0;
delete mMaterial;
delete mGlowMaterial;
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);
}
}
}
}

View File

@ -15,11 +15,11 @@ public:
void ParseData(QDataStream *aStream) override;
private:
QString mFontName;
XString mFontName;
int mPixelHeight;
int mGlyphCount;
XMaterial *mMaterial;
XMaterial *mGlowMaterial;
XMaterial mMaterial;
XMaterial mGlowMaterial;
QVector<XGlyph> mGlyphs;
};