Reign.Video.Abstraction.Font.draw C# (CSharp) Méthode

draw() private méthode

private draw ( string text, Vector2 textureSize, Vector2 position, Vector4 color, float size, bool centeredX, bool centeredY ) : void
text string
textureSize Vector2
position Vector2
color Vector4
size float
centeredX bool
centeredY bool
Résultat void
        private void draw(string text, Vector2 textureSize, Vector2 position, Vector4 color, float size, bool centeredX, bool centeredY)
        {
            if (string.IsNullOrEmpty(text)) return;

            var centeredLoc = new Vector2();
            if (centeredX || centeredY)
            {
                for (int i = 0; i != text.Length; ++i)
                {
                    var c = FindCharacter(text[i]);
                    if (centeredX) centeredLoc.X += c.SizeRatio.X * size;
                    if (centeredY) centeredLoc.Y += c.SizeRatio.Y * size;
                }
                if (text.Length != 0)
                {
                    centeredLoc.Y /= (float)text.Length;
                    centeredLoc *= .5f;
                }
            }

            var offset = new Vector2();
            for (int i = 0; i != text.Length; ++i)
            {
                var c = FindCharacter(text[i]);
                var sizeScaled = c.SizeRatio * size;
                drawCharacter(offset + position - centeredLoc, sizeScaled, c.Offset / textureSize, c.Size / textureSize, color);

                offset.X += sizeScaled.X;
            }
        }