Exemplo n.º 1
0
        public MainWindow()
        {
            InitializeComponent();

            PreviewTextBox.Focus();
            TextRenderCanvas.set_font(FontName);
        }
Exemplo n.º 2
0
        private void PreviewTextBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            string text = PreviewTextBox.Text;

            // Remove anything between square brackets,
            // with the assumption they are control codes
            string[] lines = text.Split('\n');
            var      lines_wihout_codes = lines.Select(x =>
            {
                while (x.IndexOf(']') > x.LastIndexOf('['))
                {
                    int left_bracket_index = -1, right_bracket_index = -1;
                    for (int i = x.Length - 1; i >= 0; i--)
                    {
                        if (x[i] == ']')
                        {
                            right_bracket_index = i + 1;
                        }
                        if (x[i] == '[' && right_bracket_index != -1)
                        {
                            left_bracket_index = i;
                            break;
                        }
                    }
                    // Just in case
                    if (left_bracket_index == -1)
                    {
                        break;
                    }
                    x = x.Remove(left_bracket_index,
                                 right_bracket_index - left_bracket_index);
                }
                return(x);
            });

            text = string.Join("\n", lines_wihout_codes);

            TextRenderCanvas.set_text(text);
        }