BsScriptGUIButton.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptGUIElement.h"
  4. #include "BsColor.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ScriptGUIButton : public TScriptGUIElement<ScriptGUIButton>
  8. {
  9. public:
  10. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "GUIButton")
  11. private:
  12. static void internal_createInstance(MonoObject* instance, MonoObject* content, MonoString* style, MonoArray* guiOptions);
  13. static void internal_setContent(ScriptGUIButton* nativeInstance, MonoObject* content);
  14. static void internal_setTint(ScriptGUIButton* nativeInstance, Color color);
  15. static void onClick(MonoObject* instance);
  16. static void onDoubleClick(MonoObject* instance);
  17. static void onHover(MonoObject* instance);
  18. static void onOut(MonoObject* instance);
  19. ScriptGUIButton(MonoObject* instance, GUIButton* button);
  20. typedef void (__stdcall *OnClickThunkDef) (MonoObject*, MonoException**);
  21. typedef void (__stdcall *OnDoubleClickThunkDef) (MonoObject*, MonoException**);
  22. typedef void (__stdcall *OnHoverThunkDef) (MonoObject*, MonoException**);
  23. typedef void (__stdcall *OnOutThunkDef) (MonoObject*, MonoException**);
  24. static OnClickThunkDef onClickThunk;
  25. static OnDoubleClickThunkDef onDoubleClickThunk;
  26. static OnHoverThunkDef onHoverThunk;
  27. static OnOutThunkDef onOutThunk;
  28. };
  29. }