diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/CaretLayer.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/CaretLayer.cs index bcee2206ef..984f31ca22 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/CaretLayer.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Editing/CaretLayer.cs @@ -79,7 +79,7 @@ namespace ICSharpCode.AvalonEdit.Editing caretRectangle.Y - textView.VerticalOffset, caretRectangle.Width, caretRectangle.Height); - drawingContext.DrawRectangle(caretBrush, null, PixelSnapHelpers.PixelAlign(r)); + drawingContext.DrawRectangle(caretBrush, null, PixelSnapHelpers.Round(r)); } } } diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/PixelSnapHelpers.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/PixelSnapHelpers.cs index 36ba025bc9..a5bb9ee48a 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/PixelSnapHelpers.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Utils/PixelSnapHelpers.cs @@ -47,6 +47,11 @@ namespace ICSharpCode.AvalonEdit.Utils return new Point(Round(val.X), Round(val.Y)); } + public static Rect Round(Rect rect) + { + return new Rect(Round(rect.X), Round(rect.Y), Round(rect.Width), Round(rect.Height)); + } + /// /// Rounds val to a whole number of pixels. ///