public override void Draw( GameTime gameTime ) { sampleFrames++; 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 * 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 borader 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(); }