From cb5464ea2b9ba25c515aa638c5bed620c7d887c3 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Thu, 8 Jun 2017 16:47:26 +0200 Subject: [PATCH] Revert "Fix drawing of collpsable insets" This was definitely not meant to be pushed, especially since I reverted it recently. Sorry folks. This reverts commit 6fc72a1a1ffc6abb321ce1b7921eed5655302b40. --- src/insets/InsetCollapsable.cpp | 3 ++- src/insets/InsetCollapsable.h | 2 ++ src/insets/InsetText.cpp | 4 ++++ src/insets/InsetText.h | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/insets/InsetCollapsable.cpp b/src/insets/InsetCollapsable.cpp index 213e058b06..92802b96d4 100644 --- a/src/insets/InsetCollapsable.cpp +++ b/src/insets/InsetCollapsable.cpp @@ -335,10 +335,11 @@ 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, Color_none, Color_none); + buttonLabel(bv), font, col, Color_none); } int const y1 = y - textdim.asc + 3; diff --git a/src/insets/InsetCollapsable.h b/src/insets/InsetCollapsable.h index 4c08bdc797..a426db034a 100644 --- a/src/insets/InsetCollapsable.h +++ b/src/insets/InsetCollapsable.h @@ -54,6 +54,8 @@ 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, diff --git a/src/insets/InsetText.cpp b/src/insets/InsetText.cpp index 2e60692f3c..7680ee5fa9 100644 --- a/src/insets/InsetText.cpp +++ b/src/insets/InsetText.cpp @@ -221,6 +221,10 @@ 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. diff --git a/src/insets/InsetText.h b/src/insets/InsetText.h index bfaee44241..eb52bc81b6 100644 --- a/src/insets/InsetText.h +++ b/src/insets/InsetText.h @@ -60,6 +60,8 @@ 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; } /// -- 2.39.2