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

CreateGeometry() public method

Creates the geometry. Returns null when the geometry is empty!
public CreateGeometry ( ) : Geometry
return Geometry
        public Geometry CreateGeometry()
        {
            CloseFigure();
            if (figures.Count != 0) {
                PathGeometry g = new PathGeometry(figures);
                g.Freeze();
                return g;
            } else {
                return null;
            }
        }

Usage Example

        public void Draw(TextView textView, DrawingContext drawingContext)
        {
            if (!this.textView.Options.HighlightCurrentLine)
            {
                return;
            }

            BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();

            var visualLine = this.textView.GetVisualLine(line);

            if (visualLine == null)
            {
                return;
            }

            var linePosY = visualLine.VisualTop - this.textView.ScrollOffset.Y;

            builder.AddRectangle(textView, new Rect(0, linePosY, textView.ActualWidth, visualLine.Height));

            Geometry geometry = builder.CreateGeometry();

            if (geometry != null)
            {
                drawingContext.DrawGeometry(this.BackgroundBrush, this.BorderPen, geometry);
            }
        }
All Usage Examples Of ICSharpCode.AvalonEdit.Rendering.BackgroundGeometryBuilder::CreateGeometry