BsScriptGUISlider.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptGUIElement.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Interop class between C++ & CLR for GUISliderH.
  8. */
  9. class BS_SCR_BE_EXPORT ScriptGUISliderH : public TScriptGUIElement<ScriptGUISliderH>
  10. {
  11. public:
  12. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "GUISliderH")
  13. private:
  14. ScriptGUISliderH(MonoObject* instance, GUISliderHorz* slider);
  15. /**
  16. * @brief Triggered when the native slider is moved.
  17. */
  18. static void onChanged(MonoObject* instance, float percent);
  19. /************************************************************************/
  20. /* CLR HOOKS */
  21. /************************************************************************/
  22. static void internal_createInstance(MonoObject* instance, MonoString* style, MonoArray* guiOptions);
  23. static void internal_setPercent(ScriptGUISliderH* nativeInstance, float percent);
  24. static float internal_getPercent(ScriptGUISliderH* nativeInstance);
  25. static void internal_setTint(ScriptGUISliderH* nativeInstance, Color color);
  26. typedef void(__stdcall *OnChangedThunkDef) (MonoObject*, float, MonoException**);
  27. static OnChangedThunkDef onChangedThunk;
  28. };
  29. /**
  30. * @brief Interop class between C++ & CLR for GUISliderV.
  31. */
  32. class BS_SCR_BE_EXPORT ScriptGUISliderV : public TScriptGUIElement<ScriptGUISliderV>
  33. {
  34. public:
  35. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "GUISliderV")
  36. private:
  37. ScriptGUISliderV(MonoObject* instance, GUISliderVert* slider);
  38. /**
  39. * @brief Triggered when the native slider is moved.
  40. */
  41. static void onChanged(MonoObject* instance, float percent);
  42. /************************************************************************/
  43. /* CLR HOOKS */
  44. /************************************************************************/
  45. static void internal_createInstance(MonoObject* instance, MonoString* style, MonoArray* guiOptions);
  46. static void internal_setPercent(ScriptGUISliderV* nativeInstance, float percent);
  47. static float internal_getPercent(ScriptGUISliderV* nativeInstance);
  48. static void internal_setTint(ScriptGUISliderV* nativeInstance, Color color);
  49. typedef void(__stdcall *OnChangedThunkDef) (MonoObject*, float, MonoException**);
  50. static OnChangedThunkDef onChangedThunk;
  51. };
  52. }