Browse Source

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

4.1
Daniel Grunwald 14 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 @@ -200,7 +200,7 @@ namespace ICSharpCode.AvalonEdit.AddIn
differ.editor.Visibility = Visibility.Collapsed;
differ.copyButton.Visibility = Visibility.Collapsed;
} else {
var baseDocument = new TextDocument(changeWatcher.BaseDocument.Text);
var baseDocument = new TextDocument(DocumentUtilitites.GetTextSource(changeWatcher.BaseDocument));
if (differ.editor.SyntaxHighlighting != null) {
var mainHighlighter = new DocumentHighlighter(baseDocument, differ.editor.SyntaxHighlighting.MainRuleSet);
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 @@ -311,13 +311,13 @@ namespace ICSharpCode.SharpDevelop
public static Point TransformToDevice(this Point point, Visual visual)
{
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)
{
Matrix matrix = PresentationSource.FromVisual(visual).CompositionTarget.TransformFromDevice;
return new Point(point.X * matrix.M11, point.Y * matrix.M22);
return matrix.Transform(point);
}
#endregion

Loading…
Cancel
Save