From 5f6dad55d75cbe146ff7fefc899a02ccd39078ba Mon Sep 17 00:00:00 2001 From: Treeki Date: Thu, 7 Oct 2010 15:56:13 +0200 Subject: initial commit -- everything compiles except for material.cpp. the material system still needs quite a bit of work; this will come in due time --- lyt/layout.h | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lyt/layout.h (limited to 'lyt/layout.h') diff --git a/lyt/layout.h b/lyt/layout.h new file mode 100644 index 0000000..2af32a1 --- /dev/null +++ b/lyt/layout.h @@ -0,0 +1,67 @@ +#ifndef LYTLAYOUT_H +#define LYTLAYOUT_H + +#include "packagebase.h" +#include "materials/material.h" +#include "group.h" +#include "pane.h" +#include "textbox.h" +#include "picture.h" +#include "window.h" +#include "bounding.h" +#include "binaryfile.h" +#include "binaryfilesection.h" + +#include +#include +#include + +class LYTTexMap; // forward declaration so it can be a friend class + +class LYTLayout { +public: + LYTLayout(LYTPackageBase &package); + LYTLayout(LYTPackageBase &package, QString name); + ~LYTLayout(); + + void clear(); + LYTPackageBase &package() const; + + float width; + float height; + + QMap materials; + + LYTPane *rootPane; + QList groups; + + + +protected: + LYTPackageBase &m_package; + + // these are private because they are not intended for public use + // they're only here so that LYTPane's subclasses and a few others can read + // this info when reading/writing -- hence why they are friend classes + QStringList m_fontRefs; + QStringList m_textureRefs; + + bool loadLayoutFromPackage(QString name); + + void readLyt1(LYTBinaryFileSection §ion); + void readTxl1(LYTBinaryFileSection §ion); + void readFnl1(LYTBinaryFileSection §ion); + void readMat1(LYTBinaryFileSection §ion); + + LYTPane *createPaneObj(LYTBinaryFileSection §ion); + + friend class LYTPane; + friend class LYTTextBox; + friend class LYTPicture; + friend class LYTWindow; + friend class LYTBounding; + friend class LYTTexMap; + +}; + +#endif // LYTLAYOUT_H -- cgit v1.2.3