internal protected override void MouseHover(MarginMouseEventArgs args) { base.MouseHover(args); LineSegment lineSegment = null; if (args.LineSegment != null) { lineSegment = args.LineSegment; if (lineHover != lineSegment) { lineHover = lineSegment; editor.RedrawMargin(this); } } lineHover = lineSegment; bool found = false; foreach (FoldSegment segment in editor.Document.GetFoldingContaining(lineSegment)) { if (segment.StartLine.Offset == lineSegment.Offset) { found = true; break; } } delayTimer.Stop(); if (found) { foldings = editor.Document.GetFoldingContaining(lineSegment); if (editor.TextViewMargin.BackgroundRenderer == null) { delayTimer.Start(); } else { DelayTimerElapsed(this, null); } } else { RemoveBackgroundRenderer(); } }
void HandleEditorDocumentFoldTreeUpdated(object sender, EventArgs e) { editor.RedrawMargin(this); }