GUISlider.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. namespace BansheeEngine
  4. {
  5. public sealed class GUISliderH : GUIElement
  6. {
  7. public delegate void OnChangedDelegate(float percent);
  8. public event OnChangedDelegate OnChanged;
  9. public float Percent
  10. {
  11. get { return Internal_GetPercent(mCachedPtr); }
  12. set { Internal_SetPercent(mCachedPtr, value); }
  13. }
  14. public GUISliderH(string style, params GUIOption[] options)
  15. {
  16. Internal_CreateInstance(this, style, options);
  17. }
  18. public GUISliderH(string style)
  19. {
  20. Internal_CreateInstance(this, style, new GUIOption[0]);
  21. }
  22. private void DoOnChanged(float percent)
  23. {
  24. if (OnChanged != null)
  25. OnChanged(percent);
  26. }
  27. [MethodImpl(MethodImplOptions.InternalCall)]
  28. private static extern void Internal_CreateInstance(GUISliderH instance, string style, GUIOption[] options);
  29. [MethodImpl(MethodImplOptions.InternalCall)]
  30. private static extern float Internal_GetPercent(IntPtr nativeInstance);
  31. [MethodImpl(MethodImplOptions.InternalCall)]
  32. private static extern void Internal_SetPercent(IntPtr nativeInstance, float percent);
  33. }
  34. public sealed class GUISliderV : GUIElement
  35. {
  36. public delegate void OnChangedDelegate(float percent);
  37. public event OnChangedDelegate OnChanged;
  38. public float Percent
  39. {
  40. get { return Internal_GetPercent(mCachedPtr); }
  41. set { Internal_SetPercent(mCachedPtr, value); }
  42. }
  43. public GUISliderV(string style, params GUIOption[] options)
  44. {
  45. Internal_CreateInstance(this, style, options);
  46. }
  47. public GUISliderV(string style)
  48. {
  49. Internal_CreateInstance(this, style, new GUIOption[0]);
  50. }
  51. private void DoOnChanged(float percent)
  52. {
  53. if (OnChanged != null)
  54. OnChanged(percent);
  55. }
  56. [MethodImpl(MethodImplOptions.InternalCall)]
  57. private static extern void Internal_CreateInstance(GUISliderV instance, string style, GUIOption[] options);
  58. [MethodImpl(MethodImplOptions.InternalCall)]
  59. private static extern float Internal_GetPercent(IntPtr nativeInstance);
  60. [MethodImpl(MethodImplOptions.InternalCall)]
  61. private static extern void Internal_SetPercent(IntPtr nativeInstance, float percent);
  62. }
  63. }