From: Jean-Marc Lasgouttes Date: Thu, 8 Jun 2017 14:47:26 +0000 (+0200) Subject: Revert "Fix drawing of collpsable insets" X-Git-Tag: 2.3.0beta1~295 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=cb5464ea2b9ba25c515aa638c5bed620c7d887c3;p=features.git 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. --- 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; } ///