private void ItalicsCallback(string text, int index, ref TextDrawState state) { state.Color = Color.Pink; // Fake italics by shearing glyph state.Transform = Matrix.CreateShear(-0.3F, 0) * Matrix.CreateScale(1.1F, 1F); }
private void FireCallback(string text, int index, ref TextDrawState state) { var s = Calc.Sin(_demo.Time * 6F + index) * 0.5F + 0.5F; state.Color = Color.Lerp(Color.Orange, Color.Red, s); if (Calc.Random.NextFloat() < 0.02F) { state.Color = Color.White; } }
internal void CharacterCallback(string _, int index, ref TextDrawState state) { switch (_states[index]) { default: state.Color = Color.White; break; case State.Parens: state.Color = Color.Gray; break; case State.Quote: // Set color state.Color = (Color.Blue + Color.Cyan) / 2F; // Animated up and down wobble var now = (float)_stopwatch.Elapsed.TotalSeconds; state.Position.Y += Calc.Sin(index / 2F + now * 8F) * 2; break; } }
private void OtherCallback(string text, int index, ref TextDrawState state) { state.Color = Color.Cyan; }