GUISpace.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. namespace BansheeEngine
  4. {
  5. public sealed class GUIFixedSpace : GUIElement
  6. {
  7. internal GUIFixedSpace(GUILayout parentLayout, int size)
  8. {
  9. Internal_CreateInstance(this, parentLayout, size);
  10. }
  11. internal override bool IsStatic()
  12. {
  13. return true;
  14. }
  15. internal override void SetParent(GUILayout layout)
  16. {
  17. // Space only gets one parent set on initialization and then it cannot be moved
  18. if (parent == null)
  19. {
  20. parent = layout;
  21. if (parent != null)
  22. parent.children.Add(this);
  23. }
  24. }
  25. public void SetSize(int size)
  26. {
  27. Internal_SetSize(mCachedPtr, size);
  28. }
  29. [MethodImpl(MethodImplOptions.InternalCall)]
  30. private static extern void Internal_CreateInstance(GUIFixedSpace instance, GUILayout parentLayout, int size);
  31. [MethodImpl(MethodImplOptions.InternalCall)]
  32. private static extern void Internal_SetSize(IntPtr nativeInstance, int size);
  33. }
  34. public sealed class GUIFlexibleSpace : GUIElement
  35. {
  36. internal GUIFlexibleSpace(GUILayout parentLayout)
  37. {
  38. Internal_CreateInstance(this, parentLayout);
  39. }
  40. internal override bool IsStatic()
  41. {
  42. return true;
  43. }
  44. internal override void SetParent(GUILayout layout)
  45. {
  46. // Space only gets one parent set on initialization and then it cannot be moved
  47. if (parent == null)
  48. {
  49. parent = layout;
  50. if (parent != null)
  51. parent.children.Add(this);
  52. }
  53. }
  54. [MethodImpl(MethodImplOptions.InternalCall)]
  55. private static extern void Internal_CreateInstance(GUIFlexibleSpace instance, GUILayout parentLayout);
  56. }
  57. }