internal override void Draw(Microsoft.Xna.Framework.GameTime gameTime) { base.Draw(gameTime); MainGame.DefaultFont.Spacing = 0.8f; if (curTexture != null) { float unscaledOffset = (MainGame.OriginalAppHeight - curTexture.Height) / 2; int yPos = MainGame.ScaledOffsetY + (int)(unscaledOffset * MainGame.ScaleY); // Centered Position if (useVoiceOver == false) { yPos = 5; } Rectangle rect = new Rectangle(MainGame.ScaledOffsetX, yPos, (int)(curTexture.Width * MainGame.ScaleX), (int)(curTexture.Height * MainGame.ScaleY)); MainGame.SpriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.Default, RasterizerState.CullNone); MainGame.SpriteBatch.Draw(curTexture, rect, Color.FromNonPremultiplied(new Vector4(Vector3.One, storyboard.CurrentAlpha))); MainGame.SpriteBatch.End(); if (useVoiceOver == false) { int yStart = 147; string introText = storyboard.GetCurrentIntroText(); FontRenderer.DrawStringDirect(MainGame.DefaultFont, introText, 0, yStart, MainGame.OriginalAppWidth, MainGame.OriginalAppHeight - yStart, Color.White); } } }
protected override void Draw() { base.Draw(); Vector2 screenPos = ScreenPosition; Color col = Color.FromNonPremultiplied(new Vector4(Vector3.One, CompositeAlpha)); Vector2 fullSize = (Font != null ? (Vector2)Font.MeasureString(Text) : Vector2.Zero); float textScale = 1.0f; if (AutoScaleFont) { textScale = this.Width / fullSize.X; } fullSize *= textScale; Vector2 position = new Vector2(0, screenPos.Y - 3); switch (TextAlignHorizontal) { case UITextAlignHorizontal.Center: position.X = screenPos.X + (Width / 2.0f - fullSize.X / 2.0f); break; case UITextAlignHorizontal.Left: position.X = screenPos.X; break; case UITextAlignHorizontal.Right: position.X = screenPos.X + (Width - fullSize.X); break; } switch (TextAlignVertical) { case UITextAlignVertical.Top: position.Y = screenPos.Y; break; case UITextAlignVertical.Center: position.Y = screenPos.Y + (Height / 2.0f - fullSize.Y / 2.0f); break; case UITextAlignVertical.Bottom: position.Y = screenPos.Y + Height - fullSize.Y; break; } FontRenderer.DrawStringDirect(renderConfig, Font, Text, position.X, position.Y, col, textScale, CompositeRotation); // }
protected override void Draw() { base.Draw(); string textToDisplay = Text; Color textColor = Color.FromNonPremultiplied(new Vector4(Vector3.One, CompositeAlpha)); if (string.IsNullOrWhiteSpace(textToDisplay)) { textColor = Color.FromNonPremultiplied(new Vector4(new Vector3(0.5f), CompositeAlpha)); textToDisplay = ShadowText; } Vector2 screenPos = ScreenPosition; RectangleF rect = new RectangleF(screenPos.X, screenPos.Y, Width, Height); Color borderColor = Color.FromNonPremultiplied(new Vector4(BorderColor.ToVector3(), CompositeAlpha)); Graphics2D.Texture.RenderRectangle(renderConfig, rect, borderColor, BorderWidth); Vector2 fullSize = (Font != null ? (Vector2)Font.MeasureString(textToDisplay) : Vector2.Zero); // Draw Text (either normal or shadow text) Vector2 position = new Vector2(0, screenPos.Y - 3); position.X = screenPos.X + Padding; position.Y = screenPos.Y + (Height / 2.0f - fullSize.Y / 2.0f); FontRenderer.DrawStringDirect(renderConfig, Font, textToDisplay, position.X, position.Y, textColor, 1.0f, CompositeRotation); // Draw cursor at location of Text if (HasCapturedKeyboardFocus() && renderCursor) { float cursorLocation = 0.0f; if (Text != null) { string textSubstring = Text.Substring(0, cursorPos); Vector2 textSubstringLength = (Font != null ? (Vector2)Font.MeasureString(textSubstring) : Vector2.Zero); cursorLocation = textSubstringLength.X; } RectangleF cursorRect = new RectangleF(position.X + cursorLocation, position.Y, 2, fullSize.Y); Graphics2D.Texture.FillRectangle(renderConfig, cursorRect, Color.White); } }
internal override void Draw(GameTime gameTime) { UIWindowManager.Render(); FontRenderer.DrawStringDirect(MainGame.DefaultFont, "Version: " + MainGame.Version, 270, 194, Color.White, 0.5f); }