// Loads the real font with the specified asset name. public static RealFont LoadRealFont(string assetName) { string name = assetName.Substring(assetName.IndexOf('/') + 1); RealFont resource = new RealFont(contentManager.Load <SpriteFont>(assetName), name); realFonts.Add(name, resource); return(resource); }
/** <summary> The sprite sheet used for the menu items. </summary> */ //internal SpriteAtlas debugMenuSprites; #endregion //========= CONSTRUCTORS ========= #region Constructors /** <summary> Constructs the main debug menu. </summary> */ public DebugMenu() { this.menu = new DebugMenuItem("root"); this.currentPath = new List <int>(); this.currentItem = null; this.mouseHoverItem = null; this.mouseHover = false; this.controlMode = MenuControlMode.Keyboard; this.open = false; this.debugMenuFont = null; this.debugMenuFontBold = null; this.debugMenuSprites = null; }
void UpdateText() { if (Text == null) { return; } var padding = Padding * TextSize; Size = new Vec2(padding, padding) * 2; foreach (var line in Text.Split('\n')) { Size = new Vec2(Math.Max(Size.X, padding * 2 + TextSize * RealFont.Measure(line)), Size.Y + TextSize); } if (FixedWidth != null) { Size = new Vec2(FixedWidth.Value, Size.Y); } }
void RenderText() { if (Text == null) { return; } RenderState.Push(); IFont font = RealFont; var padding = Padding * TextSize; RenderState.Translate(TopLeft + new Vec2(TextAlign * (Size.X - 2 * padding) + padding, -padding)); RenderState.Scale(TextSize); RenderState.Color = TextColor; foreach (var line in Text.Split('\n')) { RealFont.Render(line, TextAlign, 1); RenderState.Translate(0, -1); } RenderState.Pop(); }
/// <summary> /// Render this element. /// </summary> public override void Render() { if (Focused) { BorderColor = FocusedBorderColor; } else { BorderColor = DefaultBorderColor; } base.Render(); RenderState.Push(); RenderState.Translate(MidLeft); var padding = Padding * TextSize; RenderState.Translate(padding + (Size.X - 2 * padding) * TextAlign, 0); RenderState.Color = TextColor; RenderState.Scale(TextSize); RenderState.Translate(-RealFont.Measure(Value) * TextAlign, 0); RealFont.Render(Value + (blink < 1 ? "_" : ""), 0, 0.5); RenderState.Pop(); }