Fix drawing of collpsable insets

This is a follow-up to e194c9ce. There was actually no reason to let
InsetCollapsable and InsetText draw their own background. It is more
correct to remove the existing code and let the generic
Inset::drawBackground take command.

This allows to revert d207e85c.

Fixes bug #10587.
This commit is contained in:
Jean-Marc Lasgouttes 2017-06-07 12:20:33 +02:00
parent a98df58537
commit 18fb9cd7f9
4 changed files with 1 additions and 10 deletions

View File

@ -335,11 +335,10 @@ void InsetCollapsable::draw(PainterInfo & pi, int x, int y) const
int w = 0;
int a = 0;
int d = 0;
Color const col = pi.full_repaint ? Color_none : pi.backgroundColor(this);
theFontMetrics(font).rectText(buttonLabel(bv), w, a, d);
int const ww = max(textdim.wid, w);
pi.pain.rectText(x + (ww - w) / 2, y + desc + a,
buttonLabel(bv), font, col, Color_none);
buttonLabel(bv), font, Color_none, Color_none);
}
int const y1 = y - textdim.asc + 3;

View File

@ -54,8 +54,6 @@ public:
void metrics(MetricsInfo &, Dimension &) const;
///
void draw(PainterInfo & pi, int x, int y) const;
///
virtual void drawBackground(PainterInfo &, int, int) const {}
/// return x,y of given position relative to the inset's baseline
void cursorPos(BufferView const & bv, CursorSlice const & sl,

View File

@ -221,10 +221,6 @@ void InsetText::draw(PainterInfo & pi, int x, int y) const
int const xframe = x + TEXT_TO_INSET_OFFSET / 2;
bool change_drawn = false;
if (drawFrame_ || pi.full_repaint) {
if (pi.full_repaint)
pi.pain.fillRectangle(xframe, yframe, w, h,
pi.backgroundColor(this));
// Change color of the frame in tracked changes, like for tabulars.
// Only do so if the color is not custom. But do so even if RowPainter
// handles the strike-through already.

View File

@ -60,8 +60,6 @@ public:
void metrics(MetricsInfo & mi, Dimension & dim) const;
///
void draw(PainterInfo & pi, int x, int y) const;
/// Drawing background is handled in draw
virtual void drawBackground(PainterInfo &, int, int) const {}
///
bool editable() const { return true; }
///