CampahApp.Chatlog.ProcessLine C# (CSharp) Method

ProcessLine() public method

public ProcessLine ( CampahApp.FFACE chatline, System.Windows.Documents.Paragraph para ) : System.Windows.Documents.Paragraph
chatline CampahApp.FFACE
para System.Windows.Documents.Paragraph
return System.Windows.Documents.Paragraph
        public Paragraph ProcessLine(FFACE.ChatTools.ChatLine chatline, Paragraph para)
        {
            if (para == null)
            {
                throw new ArgumentNullException("para");
            }

            if (!_filters.Contains(chatline.Type) && _filters.Count != 0)
            {
                return null;
            }

            para = new Paragraph();
            var range = new TextRange(para.ContentStart, para.ContentEnd);
            range.Text += "("+((int)chatline.Type).ToString("X2") + ")";
            range.Text += chatline.Now;

            range.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.SteelBlue);
            range.ApplyPropertyValue(TextElement.FontWeightProperty, System.Windows.FontWeights.Bold);
            var endOfPrefix = range.End;

            para.Inlines.Add(chatline.Text);
            range = new TextRange(endOfPrefix, para.ContentEnd);
            range.ApplyPropertyValue(TextElement.ForegroundProperty, ChatColorConverter(chatline.Color));
            range.ApplyPropertyValue(TextElement.FontWeightProperty, System.Windows.FontWeights.Bold);
            para.LineHeight = 0.5;
            return para;
        }