From 6441d7432ab118558de3eef56d8706ffdd3cfe01 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 1 Feb 2014 00:01:55 +0100 Subject: [PATCH] Simplify CurrentLineHighlightRenderer. --- .../Rendering/CurrentLineHighlightRenderer.cs | 21 +++---------------- .../Rendering/TextView.cs | 2 +- .../ContextActions/ContextActionViewModel.cs | 2 +- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/CurrentLineHighlightRenderer.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/CurrentLineHighlightRenderer.cs index c87fbbb845..49fe05b1a2 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/CurrentLineHighlightRenderer.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/CurrentLineHighlightRenderer.cs @@ -2,12 +2,9 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using System.Collections.Generic; -using System.Diagnostics; using System.Windows; using System.Windows.Media; -using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Rendering; namespace ICSharpCode.AvalonEdit.Rendering @@ -75,24 +72,12 @@ namespace ICSharpCode.AvalonEdit.Rendering BackgroundGeometryBuilder builder = new BackgroundGeometryBuilder(); - builder.CornerRadius = 1; - builder.AlignToMiddleOfPixels = true; - var visualLine = this.textView.GetVisualLine(line); - if(visualLine == null) return; + if (visualLine == null) return; - var textViewPos = visualLine.GetTextViewPosition(0); - if(textViewPos == null) return; + var linePosY = visualLine.VisualTop - this.textView.ScrollOffset.Y; - var position = this.textView.GetVisualPosition(textViewPos, VisualYPosition.LineTop); - if(position == null) return; - - var lineWidth = this.textView.ActualWidth; - var lineHeigth = visualLine.Height; - var linePosX = position.X; - var linePosY = position.Y - this.textView.ScrollOffset.Y; - - builder.AddRectangle(textView, new Rect(linePosX, linePosY, lineWidth, lineHeigth)); + builder.AddRectangle(textView, new Rect(0, linePosY, textView.ActualWidth, visualLine.Height)); Geometry geometry = builder.CreateGeometry(); if (geometry != null) { diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs index bf760bd2a1..2871c38fe4 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs @@ -2074,7 +2074,7 @@ namespace ICSharpCode.AvalonEdit.Rendering /// /// Gets/Sets highlighted line number. /// - internal int HighlightedLine { // TODO: move this logic out of the TextView + public int HighlightedLine { get { return this.currentLineHighlighRenderer.Line; } set { this.currentLineHighlighRenderer.Line = value; } } diff --git a/src/Main/Base/Project/Editor/ContextActions/ContextActionViewModel.cs b/src/Main/Base/Project/Editor/ContextActions/ContextActionViewModel.cs index abc9857822..029eac431b 100644 --- a/src/Main/Base/Project/Editor/ContextActions/ContextActionViewModel.cs +++ b/src/Main/Base/Project/Editor/ContextActions/ContextActionViewModel.cs @@ -77,7 +77,7 @@ namespace ICSharpCode.SharpDevelop.Editor.ContextActions } /// - /// Just wraps inside a WPF Command to be used in XAML. + /// Just wraps inside a WPF Command to be used in XAML. /// public class ContextActionCommand : ICommand {