Fix drawing of labels in insets

In many cases, the origin xo_ of insets was forgotten.

Fixes bug #11425.
This commit is contained in:
Jean-Marc Lasgouttes 2019-01-04 16:24:18 +01:00
parent c65b146d86
commit 5c1d65afee

View File

@ -432,7 +432,7 @@ void RowPainter::paintLabel() const
double x = x_; double x = x_;
if (row_.isRTL()) if (row_.isRTL())
x = tm_.width() - row_.right_margin + fm.width(layout.labelsep); x = xo_ + tm_.width() - row_.right_margin + fm.width(layout.labelsep);
else else
x = x_ - fm.width(layout.labelsep) - fm.width(str); x = x_ - fm.width(layout.labelsep) - fm.width(str);
@ -467,10 +467,10 @@ void RowPainter::paintTopLevelLabel() const
double x = x_; double x = x_;
if (layout.labeltype == LABEL_CENTERED) { if (layout.labeltype == LABEL_CENTERED) {
x = row_.left_margin + (tm_.width() - row_.left_margin - row_.right_margin) / 2; x += (tm_.width() - row_.left_margin - row_.right_margin) / 2;
x -= fm.width(str) / 2; x -= fm.width(str) / 2;
} else if (row_.isRTL()) { } else if (row_.isRTL()) {
x = tm_.width() - row_.right_margin - fm.width(str); x = xo_ + tm_.width() - row_.right_margin - fm.width(str);
} }
pi_.pain.text(int(x), yo_ - maxdesc - labeladdon, str, font); pi_.pain.text(int(x), yo_ - maxdesc - labeladdon, str, font);
} }
@ -557,9 +557,9 @@ void RowPainter::paintLast() const
} }
if (endlabel == END_LABEL_BOX) if (endlabel == END_LABEL_BOX)
pi_.pain.rectangle(x, y, size, size, font.realColor()); pi_.pain.rectangle(xo_ + x, y, size, size, font.realColor());
else else
pi_.pain.fillRectangle(x, y, size, size, font.realColor()); pi_.pain.fillRectangle(xo_ + x, y, size, size, font.realColor());
break; break;
} }