BsScriptGUITextureField.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEditorPrerequisites.h"
  5. #include "Wrappers/GUI/BsScriptGUIElement.h"
  6. #include "BsGUITextureField.h"
  7. namespace bs
  8. {
  9. struct __GUIContentInterop;
  10. /** @addtogroup ScriptInteropEditor
  11. * @{
  12. */
  13. /** Interop class between C++ & CLR for GUITextureField. */
  14. class BS_SCR_BED_EXPORT ScriptGUITextureField : public TScriptGUIElement <ScriptGUITextureField>
  15. {
  16. public:
  17. SCRIPT_OBJ(EDITOR_ASSEMBLY, EDITOR_NS, "GUITextureField")
  18. private:
  19. /**
  20. * Triggered when the value in the native texture field changes.
  21. *
  22. * @param[in] newHandle Handle of the new texture.
  23. */
  24. void onChanged(const HResource& newHandle);
  25. /** Retrieves a managed instance of the specified native resource. Will return null if one doesn't exist. */
  26. static MonoObject* nativeToManagedResource(const HResource& instance);
  27. ScriptGUITextureField(MonoObject* instance, GUITextureField* textureField);
  28. /************************************************************************/
  29. /* CLR HOOKS */
  30. /************************************************************************/
  31. static void internal_createInstance(MonoObject* instance, GUITextureFieldType type, __GUIContentInterop* title,
  32. UINT32 titleWidth, MonoString* style, MonoArray* guiOptions, bool withTitle);
  33. static void internal_getTexture(ScriptGUITextureField* nativeInstance, MonoObject** output);
  34. static void internal_setTexture(ScriptGUITextureField* nativeInstance, MonoObject* value);
  35. static void internal_getTextureRef(ScriptGUITextureField* nativeInstance, MonoObject** output);
  36. static void internal_setTextureRef(ScriptGUITextureField* nativeInstance, MonoObject* value);
  37. static void internal_getSpriteTexture(ScriptGUITextureField* nativeInstance, MonoObject** output);
  38. static void internal_setSpriteTexture(ScriptGUITextureField* nativeInstance, MonoObject* value);
  39. static void internal_getSpriteTextureRef(ScriptGUITextureField* nativeInstance, MonoObject** output);
  40. static void internal_setSpriteTextureRef(ScriptGUITextureField* nativeInstance, MonoObject* value);
  41. static void internal_getValue(ScriptGUITextureField* nativeInstance, MonoObject** output);
  42. static void internal_setValue(ScriptGUITextureField* nativeInstance, MonoObject* value);
  43. static void internal_getValueRef(ScriptGUITextureField* nativeInstance, MonoObject** output);
  44. static void internal_setValueRef(ScriptGUITextureField* nativeInstance, MonoObject* value);
  45. static void internal_setTint(ScriptGUITextureField* nativeInstance, Color* color);
  46. typedef void(BS_THUNKCALL *OnChangedThunkDef) (MonoObject*, MonoObject*, MonoException**);
  47. static OnChangedThunkDef onChangedThunk;
  48. };
  49. /** @} */
  50. }