diff options
author | Neil <nyamatongwe@gmail.com> | 2020-07-28 13:35:50 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2020-07-28 13:35:50 +1000 |
commit | 6ba506fe9236027a5d4606b2498f90c935c66e46 (patch) | |
tree | 7008dd6e5d226b32762952c8183bc4f0e6ba16c5 /src | |
parent | 4da1d7953a20c180e7659795bd50ca83b53b39cd (diff) | |
download | scintilla-mirror-6ba506fe9236027a5d4606b2498f90c935c66e46.tar.gz |
Fix position of marker symbols for SC_MARGIN_RTEXT which were being moved based
on width of text.
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 |