BsScriptGUIListBox.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsGUITexture.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptGUIListBox : public ScriptObject<ScriptGUIListBox>
  8. {
  9. public:
  10. static void initMetaData();
  11. GUIListBox* getInternalValue() const { return mListBox; }
  12. void* getNativeRaw() const { return mListBox; }
  13. private:
  14. static void internal_createInstance(MonoObject* instance, MonoObject* parentLayout, MonoArray* elements, MonoObject* style, MonoArray* guiOptions);
  15. static void internal_destroyInstance(ScriptGUIListBox* nativeInstance);
  16. static void internal_setElements(ScriptGUIListBox* nativeInstance, MonoArray* elements);
  17. static void initRuntimeData();
  18. static void onSelectionChanged(MonoObject* instance, CM::UINT32 index);
  19. ScriptGUIListBox(GUIListBox* listBox);
  20. GUIListBox* mListBox;
  21. typedef void (__stdcall *OnSelectionChangedThunkDef) (MonoObject*, CM::UINT32, MonoException**);
  22. static OnSelectionChangedThunkDef onSelectionChangedThunk;
  23. };
  24. }