BsDockManagerLayout.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsIReflectable.h"
  4. #include "BsRectI.h"
  5. namespace BansheeEngine
  6. {
  7. class DockManagerLayout : public IReflectable
  8. {
  9. public:
  10. struct Entry
  11. {
  12. public:
  13. Entry();
  14. ~Entry();
  15. static Entry* createLeaf(Entry* parent, UINT32 childIdx,
  16. const Vector<String>& widgetNames);
  17. static Entry* createContainer(Entry* parent, UINT32 childIdx, float splitPosition,
  18. bool horizontalSplit);
  19. Vector<String> widgetNames;
  20. bool isLeaf;
  21. float splitPosition;
  22. bool horizontalSplit;
  23. Entry* children[2];
  24. Entry* parent;
  25. };
  26. public:
  27. ~DockManagerLayout();
  28. Entry& getRootEntry() { return mRootEntry; }
  29. private:
  30. Entry mRootEntry;
  31. /************************************************************************/
  32. /* RTTI */
  33. /************************************************************************/
  34. public:
  35. friend class DockManagerLayoutRTTI;
  36. static RTTITypeBase* getRTTIStatic();
  37. virtual RTTITypeBase* getRTTI() const;
  38. };
  39. }