XPlor/libs/xassets/xwindowdef.cpp

109 lines
3.4 KiB
C++

#include "xwindowdef.h"
XWindowDef::XWindowDef()
: XAsset()
, mName()
, mRect()
, mRectClient()
, mGroup()
, mStyle(0)
, mBorder(0)
, mOwnerDraw(0)
, mOwnerDrawFlags(0)
, mBorderSize(0.0f)
, mStaticFlags(0)
, mDynamicFlags(4)
, mNextTime(0)
, mForeColor()
, mBackColor()
, mBorderColor()
, mOutlineColor()
, mBackground()
{
SetName("Window Definition");
}
XWindowDef::~XWindowDef()
{
}
void XWindowDef::ParseData(XDataStream *aStream)
{
Q_UNUSED(aStream);
mName.ParsePtr(aStream, false);
mRect.ParseData(aStream);
mRectClient.ParseData(aStream);
mGroup.ParsePtr(aStream, false);
mStyle = aStream->ParseInt32(QString("%1 style").arg(GetName()));
mBorder = aStream->ParseInt32(QString("%1 border").arg(GetName()));
mOwnerDraw = aStream->ParseInt32(QString("%1 owner draw").arg(GetName()));
mOwnerDrawFlags = aStream->ParseInt32(QString("%1 owner draw flags").arg(GetName()));
mBorderSize = aStream->ParseSingle(QString("%1 border size").arg(GetName()));
mStaticFlags = aStream->ParseInt32(QString("%1 static flags").arg(GetName()));
for (int i = 0; i < 4; i++)
{
mDynamicFlags[i] = aStream->ParseInt32(QString("%1 dynamic flag %2").arg(GetName()).arg(i));
}
mNextTime = aStream->ParseInt32(QString("%1 next time").arg(GetName()));
float r, g, b, a;
r = aStream->ParseSingle(QString("%1 foreground red").arg(GetName()));
g = aStream->ParseSingle(QString("%1 foreground green").arg(GetName()));
b = aStream->ParseSingle(QString("%1 foreground blue").arg(GetName()));
a = aStream->ParseSingle(QString("%1 foreground alpha").arg(GetName()));
mForeColor = QColor(r, g, b, a);
r = aStream->ParseSingle(QString("%1 background red").arg(GetName()));
g = aStream->ParseSingle(QString("%1 background green").arg(GetName()));
b = aStream->ParseSingle(QString("%1 background blue").arg(GetName()));
a = aStream->ParseSingle(QString("%1 background alpha").arg(GetName()));
mBackColor = QColor(r, g, b, a);
r = aStream->ParseSingle(QString("%1 border red").arg(GetName()));
g = aStream->ParseSingle(QString("%1 border green").arg(GetName()));
b = aStream->ParseSingle(QString("%1 border blue").arg(GetName()));
a = aStream->ParseSingle(QString("%1 border alpha").arg(GetName()));
mBorderColor = QColor(r, g, b, a);
r = aStream->ParseSingle(QString("%1 outline red").arg(GetName()));
g = aStream->ParseSingle(QString("%1 outline green").arg(GetName()));
b = aStream->ParseSingle(QString("%1 outline blue").arg(GetName()));
a = aStream->ParseSingle(QString("%1 outline alpha").arg(GetName()));
mOutlineColor = QColor(r, g, b, a);
mBackground.ParsePtr(aStream, false);
mName.ParseData(aStream);
mGroup.ParseData(aStream);
mBackground.ParseData(aStream);
}
void XWindowDef::Clear()
{
mName.Clear();
mRect.Clear();
mRectClient.Clear();
mGroup.Clear();
mStyle = 0;
mBorder = 0;
mOwnerDraw = 0;
mOwnerDrawFlags = 0;
mBorderSize = 0.0f;
mStaticFlags = 0;
mDynamicFlags = QVector<int>(4);
mNextTime = 0;
mForeColor = QColor();
mBackColor = QColor();
mBorderColor = QColor();
mOutlineColor = QColor();
mBackground.Clear();
}