GUITexture.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. public GUITexture(SpriteTexture texture, GUIImageScaleMode scale, string style, params GUIOption[] options)
  15. {
  16. Internal_CreateInstance(this, texture, scale, style, options);
  17. }
  18. public GUITexture(SpriteTexture texture, GUIImageScaleMode scale, params GUIOption[] options)
  19. {
  20. Internal_CreateInstance(this, texture, scale, "", options);
  21. }
  22. public GUITexture(SpriteTexture texture, string style, params GUIOption[] options)
  23. {
  24. Internal_CreateInstance(this, texture, GUIImageScaleMode.StretchToFit, style, options);
  25. }
  26. public GUITexture(SpriteTexture texture, params GUIOption[] options)
  27. {
  28. Internal_CreateInstance(this, texture, GUIImageScaleMode.StretchToFit, "", options);
  29. }
  30. public void SetTexture(SpriteTexture texture)
  31. {
  32. Internal_SetTexture(mCachedPtr, texture);
  33. }
  34. [MethodImpl(MethodImplOptions.InternalCall)]
  35. private static extern void Internal_CreateInstance(GUITexture instance, SpriteTexture texture,
  36. GUIImageScaleMode scale, string style, GUIOption[] options);
  37. [MethodImpl(MethodImplOptions.InternalCall)]
  38. private static extern void Internal_SetTexture(IntPtr nativeInstance, SpriteTexture texture);
  39. }
  40. }