mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-24 10:40:48 +00:00
Move correctly the end of proof marker when row is large
This was a regression from 2.1.x in LtR mode, and it never worked correctly in RtL mode. Fixes bug #10344.
This commit is contained in:
parent
b583fb26e8
commit
07c7dae367
@ -513,14 +513,17 @@ void RowPainter::paintLast() const
|
|||||||
FontMetrics const & fm = theFontMetrics(font);
|
FontMetrics const & fm = theFontMetrics(font);
|
||||||
int const size = int(0.75 * fm.maxAscent());
|
int const size = int(0.75 * fm.maxAscent());
|
||||||
int const y = yo_ - size;
|
int const y = yo_ - size;
|
||||||
int const max_row_width = width_ - size - Inset::TEXT_TO_INSET_OFFSET;
|
|
||||||
int x = is_rtl ? nestMargin() + changebarMargin()
|
|
||||||
: max_row_width - row_.right_margin;
|
|
||||||
|
|
||||||
// If needed, move the box a bit to avoid overlapping with text.
|
// If needed, move the box a bit to avoid overlapping with text.
|
||||||
int const rem = max_row_width - row_.width();
|
int x = 0;
|
||||||
if (rem <= 0)
|
if (is_rtl) {
|
||||||
x += is_rtl ? rem : - rem;
|
int const normal_x = nestMargin() + changebarMargin();
|
||||||
|
x = min(normal_x, row_.left_margin - size - Inset::TEXT_TO_INSET_OFFSET);
|
||||||
|
} else {
|
||||||
|
int const normal_x = width_ - row_.right_margin
|
||||||
|
- size - Inset::TEXT_TO_INSET_OFFSET;
|
||||||
|
x = max(normal_x, row_.width());
|
||||||
|
}
|
||||||
|
|
||||||
if (endlabel == END_LABEL_BOX)
|
if (endlabel == END_LABEL_BOX)
|
||||||
pi_.pain.rectangle(x, y, size, size, Color_eolmarker);
|
pi_.pain.rectangle(x, y, size, size, Color_eolmarker);
|
||||||
|
Loading…
Reference in New Issue
Block a user