using System; using Microsoft.Xna.Framework; using MLEM.Font; using MLEM.Formatting; using MLEM.Misc; using MLEM.Textures; using MLEM.Ui.Elements; using SoundEffectInfo = MLEM.Sound.SoundEffectInfo; 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; } }