1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
#include "pane.h"
#include "layout.h"
LYTPane::LYTPane(LYTLayout &layout) : m_layout(layout) {
this->parent = 0;
}
LYTPane::~LYTPane() {
foreach (LYTPane *ptr, this->children)
delete ptr;
}
LYTPane *LYTPane::findPaneByName(QString name, bool recursive) {
foreach (LYTPane *pane, this->children) {
if (pane->name == name)
return pane;
if (recursive) {
LYTPane *tryThis = pane->findPaneByName(name, recursive);
if (tryThis != 0)
return tryThis;
}
}
return 0;
}
LYTLayout &LYTPane::layout() const {
return m_layout;
}
void LYTPane::dumpToDebug(bool showHeading) {
if (showHeading)
qDebug() << "LYTPane" << name << "@" << (void*)this;
qDebug() << "- Translation:" << xTrans << "," << yTrans << "," << zTrans;
qDebug() << "- Rotation:" << xRot << "," << yRot << "," << zRot;
qDebug() << "- Scale:" << xScale << "," << yScale;
qDebug() << "- Size:" << width << "x" << height;
qDebug() << "- Flags:" << flags << "- Origin:" << origin;
qDebug() << "- Alpha:" << alpha << "- Userdata:" << userdata;
}
void LYTPane::writeToDataStream(QDataStream &out) {
out << (quint8)flags;
out << (quint8)origin;
out << (quint8)alpha;
out.skipRawData(1); // padding
WriteFixedLengthASCII(out, name, 0x10);
WriteFixedLengthASCII(out, userdata, 8);
out << (float)xTrans;
out << (float)yTrans;
out << (float)zTrans;
out << (float)xRot;
out << (float)yRot;
out << (float)zRot;
out << (float)xScale;
out << (float)yScale;
out << (float)width;
out << (float)height;
}
void LYTPane::readFromDataStream(QDataStream &in) {
in >> (quint8&)flags;
in >> (quint8&)origin;
in >> (quint8&)alpha;
in.skipRawData(1); // padding
name = ReadFixedLengthASCII(in, 0x10);
userdata = ReadFixedLengthASCII(in, 8);
in >> (float&)xTrans;
in >> (float&)yTrans;
in >> (float&)zTrans;
in >> (float&)xRot;
in >> (float&)yRot;
in >> (float&)zRot;
in >> (float&)xScale;
in >> (float&)yScale;
in >> (float&)width;
in >> (float&)height;
}
|