2019-08-10 21:37:10 +02:00
using System.Text ;
using Microsoft.Xna.Framework ;
using Microsoft.Xna.Framework.Graphics ;
2019-12-31 14:08:13 +01:00
using MLEM.Extensions ;
2019-08-10 21:37:10 +02:00
using MLEM.Font ;
namespace MLEM.Ui.Style {
2020-05-22 17:02:24 +02:00
/// <summary>
/// The default, untextured <see cref="UiStyle"/>.
/// Note that, as MLEM does not provide any texture or font assets, this default style is made up of single-color textures that were generated using <see cref="SpriteBatchExtensions.GenerateTexture"/>.
/// </summary>
2019-08-10 21:37:10 +02:00
public class UntexturedStyle : UiStyle {
2020-05-22 17:02:24 +02:00
/// <summary>
/// Creates a new untextured style with textures generated by the given sprite batch
/// </summary>
/// <param name="batch">The sprite batch to generate the textures with</param>
2019-08-10 21:37:10 +02:00
public UntexturedStyle ( SpriteBatch batch ) {
2019-12-31 14:08:13 +01:00
this . SelectionIndicator = batch . GenerateTexture ( Color . Transparent , Color . Red ) ;
this . ButtonTexture = batch . GenerateTexture ( Color . CadetBlue ) ;
2019-08-10 21:37:10 +02:00
this . ButtonHoveredColor = Color . LightGray ;
2020-01-15 17:05:28 +01:00
this . ButtonDisabledColor = Color . Gray ;
2019-12-31 14:08:13 +01:00
this . PanelTexture = batch . GenerateTexture ( Color . Gray ) ;
this . TextFieldTexture = batch . GenerateTexture ( Color . MediumBlue ) ;
2019-08-10 21:37:10 +02:00
this . TextFieldHoveredColor = Color . LightGray ;
2019-12-31 14:08:13 +01:00
this . ScrollBarBackground = batch . GenerateTexture ( Color . LightBlue ) ;
this . ScrollBarScrollerTexture = batch . GenerateTexture ( Color . Blue ) ;
this . CheckboxTexture = batch . GenerateTexture ( Color . LightBlue ) ;
2019-08-13 21:23:20 +02:00
this . CheckboxHoveredColor = Color . LightGray ;
2019-12-31 14:08:13 +01:00
this . CheckboxCheckmark = batch . GenerateTexture ( Color . Blue ) . Region ;
this . RadioTexture = batch . GenerateTexture ( Color . AliceBlue ) ;
2019-08-13 21:23:20 +02:00
this . RadioHoveredColor = Color . LightGray ;
2019-12-31 14:08:13 +01:00
this . RadioCheckmark = batch . GenerateTexture ( Color . CornflowerBlue ) . Region ;
this . TooltipBackground = batch . GenerateTexture ( Color . Black * 0.65F , Color . Black * 0.65F ) ;
2020-11-17 21:05:48 +01:00
this . TooltipOffset = new Vector2 ( 8 , 16 ) ;
2019-12-31 14:08:13 +01:00
this . ProgressBarTexture = batch . GenerateTexture ( Color . RoyalBlue ) ;
2019-09-10 23:28:25 +02:00
this . ProgressBarColor = Color . White ;
2019-11-02 14:53:59 +01:00
this . ProgressBarProgressPadding = new Vector2 ( 1 ) ;
2019-09-10 23:28:25 +02:00
this . ProgressBarProgressColor = Color . Red ;
2019-08-10 21:37:10 +02:00
}
}
}