BsScriptGUIInputBox.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptGUIElement.h"
  4. #include "BsGUITexture.h"
  5. namespace BansheeEngine
  6. {
  7. /**
  8. * @brief Interop class between C++ & CLR for GUIInputBox.
  9. */
  10. class BS_SCR_BE_EXPORT ScriptGUIInputBox : public TScriptGUIElement<ScriptGUIInputBox>
  11. {
  12. public:
  13. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "GUITextBox")
  14. private:
  15. ScriptGUIInputBox(MonoObject* instance, GUIInputBox* inputBox);
  16. /**
  17. * @brief Triggered when the value in the native input box changes.
  18. */
  19. static void onChanged(MonoObject* instance, const WString& newValue);
  20. /**
  21. * @brief Triggered when the user confirms input in the native input box.
  22. */
  23. static void onConfirmed(MonoObject* instance);
  24. /************************************************************************/
  25. /* CLR HOOKS */
  26. /************************************************************************/
  27. static void internal_createInstance(MonoObject* instance, bool multiline, MonoString* style, MonoArray* guiOptions);
  28. static void internal_setText(ScriptGUIInputBox* nativeInstance, MonoString* text);
  29. static void internal_getText(ScriptGUIInputBox* nativeInstance, MonoString** text);
  30. static void internal_setTint(ScriptGUIInputBox* nativeInstance, Color color);
  31. typedef void(__stdcall *OnChangedThunkDef) (MonoObject*, MonoString*, MonoException**);
  32. typedef void(__stdcall *OnConfirmedThunkDef) (MonoObject*, MonoException**);
  33. static OnChangedThunkDef onChangedThunk;
  34. static OnConfirmedThunkDef onConfirmedThunk;
  35. };
  36. }