using System; using System.Runtime.CompilerServices; namespace BansheeEngine { /// /// Provides access to a global that renders GUI on the main viewport. Use /// if you need more control over the placement of GUI, or require it to be rendered to a /// different viewport. /// public static class GUI { /// /// Skin used for rendering all the GUI elements. /// public static GUISkin Skin { get { return Internal_GetSkin(); } set { IntPtr skinPtr = IntPtr.Zero; if (value != null) skinPtr = value.GetCachedPtr(); Internal_SetSkin(skinPtr); } } /// /// Container into which all GUI elements should be placed. /// public static GUIPanel Panel { get { return Internal_GetPanel(); } } [MethodImpl(MethodImplOptions.InternalCall)] private static extern GUISkin Internal_GetSkin(); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_SetSkin(IntPtr skin); [MethodImpl(MethodImplOptions.InternalCall)] private static extern GUIPanel Internal_GetPanel(); } }