using System;
using Microsoft.Xna.Framework;
using MLEM.Font;
using MLEM.Formatting;
using MLEM.Misc;
using MLEM.Textures;
using MLEM.Ui.Elements;
namespace MLEM.Ui.Style {
///
/// The style settings for a .
/// Each uses these style settings by default, however you can also change these settings per element using the elements' individual style settings.
/// Note that this class is a , meaning additional styles for custom components can easily be added using
///
public class UiStyle : GenericDataHolder {
///
/// The texture that is rendered on top of the
///
public NinePatch SelectionIndicator;
///
/// The texture that the element uses
///
public NinePatch ButtonTexture;
///
/// The texture that the element uses when it is moused over ()
/// Note that, if you just want to change the button's color when hovered, use .
///
public NinePatch ButtonHoveredTexture;
///
/// The color that the element renders with when it is moused over ()
///
public Color ButtonHoveredColor;
///
/// The texture that the element uses when it
///
public NinePatch ButtonDisabledTexture;
///
/// The color that the element uses when it
///
public Color ButtonDisabledColor;
///
/// The texture that the element uses
///
public NinePatch PanelTexture;
///
/// The texture that the element uses
///
public NinePatch TextFieldTexture;
///
/// The texture that the element uses when it is moused over ()
///
public NinePatch TextFieldHoveredTexture;
///
/// The color that the renders with when it is moused over ()
///
public Color TextFieldHoveredColor;
///
/// The background texture that the element uses
///
public NinePatch ScrollBarBackground;
///
/// The texture that the scroll indicator of the element uses
///
public NinePatch ScrollBarScrollerTexture;
///
/// The texture that the element uses
///
public NinePatch CheckboxTexture;
///
/// The texture that the element uses when it is moused over ()
///
public NinePatch CheckboxHoveredTexture;
///
/// The color that the element renders with when it is moused over ()
///
public Color CheckboxHoveredColor;
///
/// The texture that the element renders on top of its regular texture when it is
///
public TextureRegion CheckboxCheckmark;
///
/// The texture that the element uses
///
public NinePatch RadioTexture;
///
/// The texture that the element uses when it is moused over ()
///
public NinePatch RadioHoveredTexture;
///
/// The color that the element renders with when it is moused over ()
///
public Color RadioHoveredColor;
///
/// The texture that the renders on top of its regular texture when it is
///
public TextureRegion RadioCheckmark;
///
/// The texture that the uses for its background
///
public NinePatch TooltipBackground;
///
/// The offset of the element's top left corner from the mouse position
///
public Vector2 TooltipOffset;
///
/// The color that the text of a should have
///
public Color TooltipTextColor = Color.White;
///
/// The amount of time that the mouse has to be over an element with a for the tooltip to appear
///
public TimeSpan TooltipDelay = TimeSpan.Zero;
///
/// The texture that the element uses for its background
///
public NinePatch ProgressBarTexture;
///
/// The color that the element renders with
///
public Color ProgressBarColor;
///
/// The padding that the uses for its progress texture ()
///
public Vector2 ProgressBarProgressPadding;
///
/// The texture that the uses for displaying its progress
///
public NinePatch ProgressBarProgressTexture;
///
/// The color that the renders its progress texture with
///
public Color ProgressBarProgressColor;
///
/// The font that and other elements should use for rendering.
/// Note that, to specify a bold and italic font for , you should use and .
///
public GenericFont Font;
///
/// The scale that text should be rendered with in and other elements
///
public float TextScale = 1;
///
/// The color that the text of a should have
///
public Color TextColor = Color.White;
///
/// The that should be played when an element's and events are called.
/// Note that this sound is only played if the callbacks have any subscribers.
///
public SoundEffectInfo ActionSound;
}
}