protected override void Update(GameTime gameTime) { base.Update(gameTime); if (!IsActive) { return; } var ms = Mouse.GetState(); if (ms.LeftButton == ButtonState.Pressed) { BottomRight = new Vector2(ms.X, ms.Y); } else if (ms.RightButton == ButtonState.Pressed) { TopLeft = new Vector2(ms.X, ms.Y); } var ks = Keyboard.GetState(); Alignment.Update(ref ks); CharacterWrap.Update(ref ks); WordWrap.Update(ref ks); FreeType.Update(ref ks); ShowOutlines.Update(ref ks); Hinting.Update(ref ks); Which.Update(ref ks); Margin.Update(ref ks); Indent.Update(ref ks); var newSize = Arithmetic.Clamp(20 + (ms.ScrollWheelValue / 56f), 6, 200); newSize = Arithmetic.Clamp(9 + (ms.ScrollWheelValue / 100f), 4, 200); var font = ((FreeTypeFont)LatinFont); if (newSize != font.SizePoints) { font.SizePoints = newSize; Text.Invalidate(); Text2.Invalidate(); } }
protected override void Initialize() { Materials = new DefaultMaterialSet(Services); base.Initialize(); Alignment.Pressed += (s, e) => { Text2.Alignment = Text.Alignment = (HorizontalAlignment)(((int)Text.Alignment + 1) % 3); }; CharacterWrap.Pressed += (s, e) => { Text2.CharacterWrap = Text.CharacterWrap = !Text.CharacterWrap; }; WordWrap.Pressed += (s, e) => { Text2.WordWrap = Text.WordWrap = !Text.WordWrap; }; FreeType.Pressed += (s, e) => { if (Text.GlyphSource == SpriteFont) { Text2.GlyphSource = Text.GlyphSource = FallbackFont; } else { Text2.GlyphSource = Text.GlyphSource = SpriteFont; } }; Hinting.Pressed += (s, e) => { var ftf = (FreeTypeFont)LatinFont; ftf.Hinting = !ftf.Hinting; ftf.Invalidate(); ftf = (FreeTypeFont)UniFont; ftf.Hinting = !ftf.Hinting; ftf.Invalidate(); Text.Invalidate(); Text2.Invalidate(); }; Margin.Pressed += (s, e) => { var ftf = (FreeTypeFont)LatinFont; ftf.GlyphMargin = (ftf.GlyphMargin + 1) % 6; ftf.Invalidate(); Text.Invalidate(); Text2.Invalidate(); }; }