From 83553d08264effc9909e6674fa19c9d8d74a71de Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 5 May 2022 12:55:14 +0300 Subject: [PATCH] Decomposed painting of box content divider. --- ui/widgets/box_content_divider.cpp | 12 ++++++++++++ ui/widgets/box_content_divider.h | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/ui/widgets/box_content_divider.cpp b/ui/widgets/box_content_divider.cpp index 60e03dc..abb4acf 100644 --- a/ui/widgets/box_content_divider.cpp +++ b/ui/widgets/box_content_divider.cpp @@ -34,12 +34,20 @@ BoxContentDivider::BoxContentDivider( void BoxContentDivider::paintEvent(QPaintEvent *e) { QPainter p(this); p.fillRect(e->rect(), _bg); + paintTop(p); + paintBottom(p); +} + +void BoxContentDivider::paintTop(QPainter &p) { const auto dividerFillTop = QRect( 0, 0, width(), st::boxDividerTop.height()); st::boxDividerTop.fill(p, dividerFillTop); +} + +void BoxContentDivider::paintBottom(QPainter &p) { const auto dividerFillBottom = myrtlrect( 0, height() - st::boxDividerBottom.height(), @@ -48,4 +56,8 @@ void BoxContentDivider::paintEvent(QPaintEvent *e) { st::boxDividerBottom.fill(p, dividerFillBottom); } +const style::color &BoxContentDivider::color() const { + return _bg; +} + } // namespace Ui diff --git a/ui/widgets/box_content_divider.h b/ui/widgets/box_content_divider.h index 106af56..d46d09c 100644 --- a/ui/widgets/box_content_divider.h +++ b/ui/widgets/box_content_divider.h @@ -21,9 +21,14 @@ public: int height, const style::color &bg); + [[nodiscard]] const style::color &color() const; + protected: void paintEvent(QPaintEvent *e) override; + void paintTop(QPainter &p); + void paintBottom(QPainter &p); + private: const style::color &_bg;