GUITexture.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. namespace BansheeEngine
  4. {
  5. public enum GUIImageScaleMode
  6. {
  7. StretchToFit,
  8. ScaleToFit,
  9. CropToFit,
  10. RepeatToFit
  11. };
  12. public sealed class GUITexture : GUIElement
  13. {
  14. internal GUITexture(GUILayout parentLayout, SpriteTexture texture, GUIImageScaleMode scale, GUIElementStyle style, params GUIOption[] options)
  15. :base(parentLayout)
  16. {
  17. Internal_CreateInstance(this, parentLayout, texture, scale, style, options);
  18. }
  19. public void SetTexture(SpriteTexture texture)
  20. {
  21. Internal_SetTexture(mCachedPtr, texture);
  22. }
  23. [MethodImpl(MethodImplOptions.InternalCall)]
  24. private static extern void Internal_CreateInstance(GUITexture instance, GUILayout layout, SpriteTexture texture,
  25. GUIImageScaleMode scale, GUIElementStyle style, GUIOption[] options);
  26. [MethodImpl(MethodImplOptions.InternalCall)]
  27. private static extern void Internal_SetTexture(IntPtr nativeInstance, SpriteTexture texture);
  28. }
  29. }