| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #pragma once
- #include "BsEditorPrerequisites.h"
- #include "BsIReflectable.h"
- #include "BsRect2I.h"
- namespace BansheeEngine
- {
- class DockManagerLayout : public IReflectable
- {
- public:
- struct Entry
- {
- public:
- Entry();
- ~Entry();
- static Entry* createLeaf(Entry* parent, UINT32 childIdx,
- const Vector<String>& widgetNames);
- static Entry* createContainer(Entry* parent, UINT32 childIdx, float splitPosition,
- bool horizontalSplit);
- Vector<String> widgetNames;
- bool isLeaf;
- float splitPosition;
- bool horizontalSplit;
- Entry* children[2];
- Entry* parent;
- };
- public:
- ~DockManagerLayout();
- Entry& getRootEntry() { return mRootEntry; }
- void pruneInvalidLeaves();
- private:
- Entry mRootEntry;
- /************************************************************************/
- /* RTTI */
- /************************************************************************/
- public:
- friend class DockManagerLayoutRTTI;
- static RTTITypeBase* getRTTIStatic();
- virtual RTTITypeBase* getRTTI() const;
- };
- }
|