2
0

BsScriptCursor.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsRect2I.h"
  5. #include "BsVector2I.h"
  6. namespace BansheeEngine
  7. {
  8. /**
  9. * @brief Interop class between C++ & CLR for Cursor.
  10. */
  11. class BS_SCR_BE_EXPORT ScriptCursor : public ScriptObject <ScriptCursor>
  12. {
  13. public:
  14. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Cursor")
  15. private:
  16. ScriptCursor(MonoObject* instance);
  17. /************************************************************************/
  18. /* CLR HOOKS */
  19. /************************************************************************/
  20. static void internal_getScreenPosition(Vector2I* value);
  21. static void internal_setScreenPosition(Vector2I value);
  22. static void internal_hide();
  23. static void internal_show();
  24. static void internal_clipToRect(Rect2I value);
  25. static void internal_clipDisable();
  26. static void internal_setCursorStr(MonoString* name);
  27. static void internal_setCursor(CursorType cursor);
  28. static void internal_setCursorIconStr(MonoString* name, MonoObject* iconData, Vector2I hotspot);
  29. static void internal_setCursorIcon(CursorType cursor, MonoObject* iconData, Vector2I hotspot);
  30. static void internal_clearCursorIconStr(MonoString* name);
  31. static void internal_clearCursorIcon(CursorType cursor);
  32. };
  33. }