BsScriptGUILayout.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptGUIElement.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SCR_BE_EXPORT ScriptGUILayout : public TScriptGUIElementBase<ScriptGUILayout>
  7. {
  8. public:
  9. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "GUILayout")
  10. GUILayout* getInternalValue() const { return mLayout; }
  11. void* getNativeRaw() const { return mLayout; }
  12. private:
  13. friend class ScriptGUIPanel;
  14. static void internal_createInstanceX(MonoObject* instance, MonoArray* guiOptions);
  15. static void internal_createInstanceY(MonoObject* instance, MonoArray* guiOptions);
  16. static void internal_createInstancePanel(MonoObject* instance, INT16 depth, UINT16 depthRangeMin, UINT32 depthRangeMax, MonoArray* guiOptions);
  17. static void internal_addElement(ScriptGUILayout* instance, ScriptGUIElementTBase* element);
  18. static void internal_insertElement(ScriptGUILayout* instance, UINT32 index, ScriptGUIElementTBase* element);
  19. static void internal_createInstanceYFromScrollArea(MonoObject* instance, MonoObject* parentScrollArea);
  20. ScriptGUILayout(MonoObject* instance, GUILayout* layout);
  21. void destroy();
  22. GUILayout* mLayout;
  23. bool mIsDestroyed;
  24. };
  25. class BS_SCR_BE_EXPORT ScriptGUIPanel : public ScriptObject<ScriptGUIPanel>
  26. {
  27. public:
  28. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "GUIPanel")
  29. static MonoObject* createFromExisting(GUIPanel* panel);
  30. private:
  31. ScriptGUIPanel(MonoObject* instance);
  32. };
  33. }