Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }