GUISlider.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. public void SetTint(Color color)
  23. {
  24. Internal_SetTint(mCachedPtr, color);
  25. }
  26. private void DoOnChanged(float percent)
  27. {
  28. if (OnChanged != null)
  29. OnChanged(percent);
  30. }
  31. [MethodImpl(MethodImplOptions.InternalCall)]
  32. private static extern void Internal_CreateInstance(GUISliderH instance, string style, GUIOption[] options);
  33. [MethodImpl(MethodImplOptions.InternalCall)]
  34. private static extern float Internal_GetPercent(IntPtr nativeInstance);
  35. [MethodImpl(MethodImplOptions.InternalCall)]
  36. private static extern void Internal_SetPercent(IntPtr nativeInstance, float percent);
  37. [MethodImpl(MethodImplOptions.InternalCall)]
  38. private static extern void Internal_SetTint(IntPtr nativeInstance, Color color);
  39. }
  40. public sealed class GUISliderV : GUIElement
  41. {
  42. public delegate void OnChangedDelegate(float percent);
  43. public event OnChangedDelegate OnChanged;
  44. public float Percent
  45. {
  46. get { return Internal_GetPercent(mCachedPtr); }
  47. set { Internal_SetPercent(mCachedPtr, value); }
  48. }
  49. public GUISliderV(string style, params GUIOption[] options)
  50. {
  51. Internal_CreateInstance(this, style, options);
  52. }
  53. public GUISliderV(string style = "")
  54. {
  55. Internal_CreateInstance(this, style, new GUIOption[0]);
  56. }
  57. public void SetTint(Color color)
  58. {
  59. Internal_SetTint(mCachedPtr, color);
  60. }
  61. private void DoOnChanged(float percent)
  62. {
  63. if (OnChanged != null)
  64. OnChanged(percent);
  65. }
  66. [MethodImpl(MethodImplOptions.InternalCall)]
  67. private static extern void Internal_CreateInstance(GUISliderV instance, string style, GUIOption[] options);
  68. [MethodImpl(MethodImplOptions.InternalCall)]
  69. private static extern float Internal_GetPercent(IntPtr nativeInstance);
  70. [MethodImpl(MethodImplOptions.InternalCall)]
  71. private static extern void Internal_SetPercent(IntPtr nativeInstance, float percent);
  72. [MethodImpl(MethodImplOptions.InternalCall)]
  73. private static extern void Internal_SetTint(IntPtr nativeInstance, Color color);
  74. }
  75. }