Browse Source

Don't create an unnecessary copy of the whole text buffer when showing a tooltip on the ChangeMargin

4.1
Daniel Grunwald 15 years ago
parent
commit
a32eb48327
  1. 2
      src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs
  2. 4
      src/Main/Base/Project/Src/Util/ExtensionMethods.cs

2
src/AddIns/DisplayBindings/AvalonEdit.AddIn/Src/ChangeMarkerMargin.cs

@ -200,7 +200,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
differ.editor.Visibility = Visibility.Collapsed; differ.editor.Visibility = Visibility.Collapsed;
differ.copyButton.Visibility = Visibility.Collapsed; differ.copyButton.Visibility = Visibility.Collapsed;
} else { } else {
var baseDocument = new TextDocument(changeWatcher.BaseDocument.Text); var baseDocument = new TextDocument(DocumentUtilitites.GetTextSource(changeWatcher.BaseDocument));
if (differ.editor.SyntaxHighlighting != null) { if (differ.editor.SyntaxHighlighting != null) {
var mainHighlighter = new DocumentHighlighter(baseDocument, differ.editor.SyntaxHighlighting.MainRuleSet); var mainHighlighter = new DocumentHighlighter(baseDocument, differ.editor.SyntaxHighlighting.MainRuleSet);
var popupHighlighter = differ.editor.TextArea.GetService(typeof(IHighlighter)) as DocumentHighlighter; var popupHighlighter = differ.editor.TextArea.GetService(typeof(IHighlighter)) as DocumentHighlighter;

4
src/Main/Base/Project/Src/Util/ExtensionMethods.cs

@ -311,13 +311,13 @@ namespace ICSharpCode.SharpDevelop
public static Point TransformToDevice(this Point point, Visual visual) public static Point TransformToDevice(this Point point, Visual visual)
{ {
Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice; Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformToDevice;
return new Point(point.X * matrix.M11, point.Y * matrix.M22); return matrix.Transform(point);
} }
public static Point TransformFromDevice(this Point point, Visual visual) public static Point TransformFromDevice(this Point point, Visual visual)
{ {
Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformFromDevice; Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformFromDevice;
return new Point(point.X * matrix.M11, point.Y * matrix.M22); return matrix.Transform(point);
} }
#endregion #endregion

Loading…
Cancel
Save