diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/MarginView.cxx | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/MarginView.cxx b/src/MarginView.cxx index 5aadd4831..8fc24496f 100644 --- a/src/MarginView.cxx +++ b/src/MarginView.cxx @@ -365,9 +365,11 @@ void MarginView::PaintMargin(Surface *surface, Sci::Line topLine, PRectangle rc, marks &= vs.ms[margin].mask; - PRectangle rcMarker = rcSelMargin; - rcMarker.top = static_cast<XYPOSITION>(yposScreen); - rcMarker.bottom = static_cast<XYPOSITION>(yposScreen + vs.lineHeight); + PRectangle rcMarker( + rcSelMargin.left, + static_cast<XYPOSITION>(yposScreen), + rcSelMargin.right, + static_cast<XYPOSITION>(yposScreen + vs.lineHeight)); if (vs.ms[margin].style == SC_MARGIN_NUMBER) { if (firstSubLine) { std::string sNumber; @@ -413,11 +415,12 @@ void MarginView::PaintMargin(Surface *surface, Sci::Line topLine, PRectangle rc, if (firstSubLine) { surface->FillRectangle(rcMarker, vs.styles[stMargin.StyleAt(0) + vs.marginStyleOffset].back); + PRectangle rcText = rcMarker; if (vs.ms[margin].style == SC_MARGIN_RTEXT) { const int width = WidestLineWidth(surface, vs, vs.marginStyleOffset, stMargin); - rcMarker.left = rcMarker.right - width - 3; + rcText.left = rcText.right - width - 3; } - DrawStyledText(surface, vs, vs.marginStyleOffset, rcMarker, + DrawStyledText(surface, vs, vs.marginStyleOffset, rcText, stMargin, 0, stMargin.length, drawAll); } else { // if we're displaying annotation lines, colour the margin to match the associated document line |