public override void Draw(GameTime gameTime) { sampleFrames++; SpriteBatch spriteBatch = debugManager.SpriteBatch; SpriteFont font = debugManager.DebugFont; // Compute size of border area. Vector2 size = font.MeasureString("X"); Rectangle rc = new Rectangle(0, 0, (int)(size.X * 14f), (int)(size.Y * 1.3f)); Layout layout = new Layout(spriteBatch.GraphicsDevice.Viewport); rc = layout.Place(rc, 0.01f, 0.01f, Alignment.TopLeft); // Place FPS string in border area. size = font.MeasureString(stringBuilder); layout.ClientArea = rc; Vector2 pos = layout.Place(size, 0, 0.1f, Alignment.Center); // 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); }
protected override void LoadContent() { Width = (int)(GraphicsDevice.Viewport.Width * 0.8f); Layout layout = new Layout(GraphicsDevice.Viewport); position = layout.Place(new Vector2(Width, BarHeight), 0, 0.01f, Alignment.BottomCenter); base.LoadContent(); }