public static void DrawTextRightAligned(CustomSpriteBatch g, string Text, Vector2 Position, Color TextColor) { int TextWidth = (int)fntShadowFont.MeasureString(Text).X; g.DrawString(fntShadowFont, Text, Position, Color.Black, 0, new Vector2(TextWidth, 0), 1, SpriteEffects.None, 1); g.DrawString(fntWhiteFont, Text, Position, TextColor, 0, new Vector2(TextWidth, 0), 1, SpriteEffects.None, 0); }
public static void DrawTextMultiline(CustomSpriteBatch g, SpriteFont TextFont, List <string> ListText, TextAligns TextAlign, float XPos, float YPos, int TextMaxWidthInPixel) { float YOffset = 0; if (TextAlign == TextAligns.Left) { XPos -= TextMaxWidthInPixel / 2; foreach (string ActiveLine in ListText) { g.DrawString(TextFont, ActiveLine, new Vector2(XPos, YPos + YOffset), Color.White); YOffset += TextFont.LineSpacing; } } else if (TextAlign == TextAligns.Right) { XPos += TextMaxWidthInPixel / 2; foreach (string ActiveLine in ListText) { int TextWidth = (int)TextFont.MeasureString(ActiveLine).X; g.DrawString(TextFont, ActiveLine, new Vector2(XPos, YPos + YOffset), Color.White, 0f, new Vector2(TextWidth, 0), 1f, SpriteEffects.None, 0f); YOffset += TextFont.LineSpacing; } } else if (TextAlign == TextAligns.Center) { foreach (string ActiveLine in ListText) { int TextWidth = (int)TextFont.MeasureString(ActiveLine).X / 2; g.DrawString(TextFont, ActiveLine, new Vector2(XPos, YPos + YOffset), Color.White, 0f, new Vector2(TextWidth, 0), 1f, SpriteEffects.None, 0f); YOffset += TextFont.LineSpacing; } } else if (TextAlign == TextAligns.Justified) { XPos -= TextMaxWidthInPixel / 2; foreach (string ActiveLine in ListText) { float TextWidth = TextFont.MeasureString(ActiveLine).X; float ScaleFactor = TextMaxWidthInPixel / TextWidth; for (int C = 0; C < ActiveLine.Length; ++C) { float Offset = TextFont.MeasureString(ActiveLine.Substring(0, C)).X; g.DrawString(TextFont, ActiveLine[C].ToString(), new Vector2(XPos + Offset * ScaleFactor, YPos + YOffset), Color.White); } YOffset += TextFont.LineSpacing; } } }
public static void DrawText(CustomSpriteBatch g, string Text, Vector2 Position, Color TextColor) { g.DrawString(_fntShadowFont, Text, Position, Color.Black, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0.01f); g.DrawString(fntWhiteFont, Text, Position, TextColor, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f); }