CloseFigure() public method

Closes the current figure.
public CloseFigure ( ) : void
return void
 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);
         }
     }
 }
        public void Draw(TextView textView, DrawingContext drawingContext)
        {
            if (result == null)
                return;

            var builder = new BackgroundGeometryBuilder();
            builder.AlignToMiddleOfPixels = true;
            builder.AddSegment(textView, new TextSegment { StartOffset = result.OpeningOffset, Length = 1 });
            builder.CloseFigure(); // prevent connecting the two segments
            builder.AddSegment(textView, new TextSegment { StartOffset = result.ClosingOffset, Length = 1 });

            var geometry = builder.CreateGeometry();
            if (geometry != null)
                drawingContext.DrawGeometry(backgroundBrush, borderPen, geometry);
        }
		public void Draw(TextView textView, DrawingContext drawingContext)
		{
			if (this.renderedReferences == null)
				return;
			BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();
			builder.CornerRadius = cornerRadius;
			builder.AlignToMiddleOfPixels = true;
			foreach (var reference in this.renderedReferences) {
				builder.AddSegment(textView, new TextSegment() { 
				                   	StartOffset = reference.Offset, 
				                   	Length = reference.Length });
				builder.CloseFigure();
			}
			Geometry geometry = builder.CreateGeometry();
			if (geometry != null) {
				drawingContext.DrawGeometry(backgroundBrush, borderPen, geometry);
			}
		}
		public void Draw(TextView textView, DrawingContext drawingContext)
		{
			if (this.result == null)
				return;
			
			BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();
			
			builder.CornerRadius = 1;
			builder.AlignToMiddleOfPixels = true;
			
			builder.AddSegment(textView, new TextSegment() { StartOffset = result.OpeningBracketOffset, Length = result.OpeningBracketLength });
			builder.CloseFigure(); // prevent connecting the two segments
			builder.AddSegment(textView, new TextSegment() { StartOffset = result.ClosingBracketOffset, Length = result.ClosingBracketLength });
			
			Geometry geometry = builder.CreateGeometry();
			if (geometry != null) {
				drawingContext.DrawGeometry(backgroundBrush, borderPen, geometry);
			}
		}
		public void Draw(TextView textView, DrawingContext drawingContext)
		{
			if (currentReferences == null) {
				if (textView.VisualLines.Count == 0)
					return;
				var start = textView.VisualLines.First().FirstDocumentLine.LineNumber;
				var end = textView.VisualLines.Last().LastDocumentLine.LineNumber;
				currentReferences = new List<ISegment>();
				FindCurrentReferences(start, end);
			}
			if (currentReferences.Count == 0)
				return;
			BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();
			builder.CornerRadius = cornerRadius;
			builder.AlignToMiddleOfPixels = true;
			foreach (var reference in this.currentReferences) {
				builder.AddSegment(textView, new TextSegment() {
					StartOffset = reference.Offset,
					Length = reference.Length
				});
				builder.CloseFigure();
			}
			Geometry geometry = builder.CreateGeometry();
			if (geometry != null) {
				drawingContext.DrawGeometry(backgroundBrush, borderPen, geometry);
			}
		}
示例#6
0
            public void Draw(TextView textView, DrawingContext drawingContext)
            {
                BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();

                builder.CornerRadius = 1;
                builder.AlignToMiddleOfPixels = true;

                builder.AddSegment(textView, new TextSegment() { StartOffset = _from, Length = _len });
                builder.CloseFigure(); // prevent connecting the two segments

                Geometry geometry = builder.CreateGeometry();
                if (geometry != null)
                {
                    drawingContext.DrawGeometry(Brushes.LightGreen, border, geometry);
                }
            }
        public void Draw(TextView textView, DrawingContext drawingContext)
        {
            if (this.result == null)
            return;

              BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();

              builder.CornerRadius = 1;
              builder.AlignToMiddleOfPixels = true;

              builder.AddSegment(textView, new TextSegment() { StartOffset = result.OpeningBracketOffset, Length = result.OpeningBracketLength });
              builder.CloseFigure(); // prevent connecting the two segments
              builder.AddSegment(textView, new TextSegment() { StartOffset = result.ClosingBracketOffset, Length = result.ClosingBracketLength });

              Geometry geometry = builder.CreateGeometry();

              //Transform highlightFixTransform = new TranslateTransform(0, 2);
              //geometry.Transform.Value.OffsetY = 2;

              if (borderPen == null)
            this.UpdateColors(DefaultBackground, DefaultBackground);
              if (result.ClosingBracketLength == 0)
              this.UpdateColors(InvalidBackground, InvalidBackground);
              else
              this.UpdateColors(DefaultBackground, DefaultBackground);

              if (geometry != null)
              {
            drawingContext.DrawGeometry(backgroundBrush, borderPen, geometry );
              }
        }
			public void Draw(TextView textView, System.Windows.Media.DrawingContext drawingContext)
			{
				ISegment s = element.Segment;
				if (s != null) {
					BackgroundGeometryBuilder geoBuilder = new BackgroundGeometryBuilder();
					geoBuilder.AlignToMiddleOfPixels = true;
					if (Layer == KnownLayer.Background) {
						geoBuilder.AddSegment(textView, s);
						drawingContext.DrawGeometry(backgroundBrush, null, geoBuilder.CreateGeometry());
					} else {
						// draw foreground only if active
						if (element.isCaretInside) {
							geoBuilder.AddSegment(textView, s);
							foreach (BoundActiveElement boundElement in element.context.ActiveElements.OfType<BoundActiveElement>()) {
								if (boundElement.targetElement == element) {
									geoBuilder.AddSegment(textView, boundElement.Segment);
									geoBuilder.CloseFigure();
								}
							}
							drawingContext.DrawGeometry(null, activeBorderPen, geoBuilder.CreateGeometry());
						}
					}
				}
			}
        public void Draw(TextView textView, DrawingContext drawingContext)
        {
            if (this.renderedSegments == null)
            {
                return;
            }

            BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder();
            builder.CornerRadius = this.cornerRadius;
            builder.AlignToMiddleOfPixels = true;
            foreach (var segment in this.renderedSegments)
            {
                builder.AddSegment(textView, segment);
                builder.CloseFigure();
            }

            Geometry geometry = builder.CreateGeometry();
            if (geometry != null)
            {
                drawingContext.DrawGeometry(this.backgroundBrush, this.borderPen, geometry);
            }
        }