public override void Draw(GameTime gameTime)
{
SpriteBatch spriteBatch = debugManager.SpriteBatch;
SpriteFont font = debugManager.DebugFont;
// Compute size of borader area.
Vector2 size = font.MeasureString("X");
Rectangle rc =
new Rectangle(0, 0, (int)(size.X * 18f), (int)(size.Y * 3.2f));
Layout layout = new Layout(spriteBatch.GraphicsDevice.Viewport);
rc = layout.Place(rc, 0.01f, 0.01f, Alignment.TopRight);
// Place FPS string in borader area.
size = font.MeasureString(stringBuilder);
layout.ClientArea = rc;
Vector2 pos = layout.Place(size, 0.09f, 0.1f, Alignment.TopLeft);
// Draw
spriteBatch.Begin();
spriteBatch.Draw(debugManager.WhiteTexture, rc, new Color(0, 0, 0, 128));
spriteBatch.DrawString(font, stringBuilder, pos, Color.White);
spriteBatch.End();
base.Draw(gameTime);
}