public void DrawBlurredText(IUIFont uiFont, StringBuilder label, Vector2 position, Color color, float blurRadius, Color blurColor, Vector2 origin, float scale) { position.Y -= uiFont.Baseline; var font = uiFont.SpriteFont; if (blurRadius > 0f) { var effectiveBlurColor = blurColor * 0.1f * (color.A / 255f); SpriteBatch.DrawString(font, label, new Vector2(position.X - blurRadius, position.Y - blurRadius), effectiveBlurColor, 0f, origin, scale, SpriteEffects.None, 0f); SpriteBatch.DrawString(font, label, new Vector2(position.X + blurRadius, position.Y - blurRadius), effectiveBlurColor, 0f, origin, scale, SpriteEffects.None, 0f); SpriteBatch.DrawString(font, label, new Vector2(position.X + blurRadius, position.Y + blurRadius), effectiveBlurColor, 0f, origin, scale, SpriteEffects.None, 0f); SpriteBatch.DrawString(font, label, new Vector2(position.X - blurRadius, position.Y + blurRadius), effectiveBlurColor, 0f, origin, scale, SpriteEffects.None, 0f); } SpriteBatch.DrawString(font, label, new Vector2(position.X, position.Y), color, 0f, origin, scale, SpriteEffects.None, 0f); }
public TextStyle( [NotNull] IUIFont font, Color textColor, Color?backgroundColor = null, Color outlineColor = new Color(), float outlineRadius = 0, Alignment alignment = Alignment.Start, bool underlined = false, bool strikeThrough = false, WrapText wrapText = WrapText.Auto) { if (font == null) { throw new ArgumentNullException(nameof(font)); } Font = font; TextColor = textColor; BackgroundColor = backgroundColor; OutlineColor = outlineColor; OutlineRadius = outlineRadius; Underlined = underlined; StrikeThrough = strikeThrough; WrapText = wrapText; Alignment = alignment; }
public void DrawString(IUIFont spriteFont, StringBuilder text, Vector2 pos, Color color) { var posF = new Vector2(pos.X, pos.Y - spriteFont.Baseline); SpriteBatch.DrawString(spriteFont.SpriteFont, text, posF, color); }