using System; using System.Runtime.CompilerServices; namespace BansheeEngine { /// /// GUI element containing a background image and a fill image that is scaled depending on the percentage set by the /// caller. /// public sealed class GUIProgressBar : GUIElement { /// /// Value that controls the width of the progress bar fill image. Range [0, 1]. /// public float Percent { get { return Internal_GetPercent(mCachedPtr); } set { Internal_SetPercent(mCachedPtr, value); } } /// /// Creates a new progress bar element. /// /// Optional style to use for the element. Style controls the look of the element, as well as /// default layout options. Style will be retrieved from the active GUISkin. If not specified /// default element style is used. /// Options that allow you to control how is the element positioned and sized. This will /// override any similar options set by style. public GUIProgressBar(string style, params GUIOption[] options) { Internal_CreateInstance(this, style, options); } /// /// Creates a new progress bar element. /// /// Optional style to use for the element. Style controls the look of the element, as well as /// default layout options. Style will be retrieved from the active GUISkin. If not specified /// default element style is used. public GUIProgressBar(string style = "") { Internal_CreateInstance(this, style, new GUIOption[0]); } /// /// Colors the element with a specific tint. /// /// Tint to apply to the element. public void SetTint(Color color) { Internal_SetTint(mCachedPtr, color); } [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_CreateInstance(GUIProgressBar instance, string style, GUIOption[] options); [MethodImpl(MethodImplOptions.InternalCall)] private static extern float Internal_GetPercent(IntPtr nativeInstance); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_SetPercent(IntPtr nativeInstance, float percent); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_SetTint(IntPtr nativeInstance, Color color); } }