ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder.AddSegment C# (CSharp) Method

AddSegment() public method

Adds the specified segment to the geometry.
public AddSegment ( TextView textView, ISegment segment ) : void
textView TextView
segment ISegment
return void
        public void AddSegment(TextView textView, ISegment segment)
        {
            foreach (Rect r in GetRectsForSegment(textView, segment))
                AddRectangle(r.Left, r.Top, r.Right, r.Bottom);
        }

Usage Example

 public void Draw(TextView textview, DrawingContext drawingContext)
 {
     if (_result != null)
     {
         var backgroundGeometryBuilder = new BackgroundGeometryBuilder
         {
             CornerRadius = 1.0,
             AlignToMiddleOfPixels = true
         };
         backgroundGeometryBuilder.AddSegment(textview, new TextSegment
         {
             StartOffset = _result.OpeningBracketOffset,
             Length = _result.OpeningBracketLength
         });
         backgroundGeometryBuilder.CloseFigure();
         backgroundGeometryBuilder.AddSegment(textview, new TextSegment
         {
             StartOffset = _result.ClosingBracketOffset,
             Length = _result.ClosingBracketLength
         });
         var geometry = backgroundGeometryBuilder.CreateGeometry();
         if (_borderPen == null)
         {
             UpdateColors(DefaultBackground, DefaultBackground);
         }
         if (geometry != null)
         {
             drawingContext.DrawGeometry(_backgroundBrush, _borderPen, geometry);
         }
     }
 }
All Usage Examples Of ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder::AddSegment