From 764b1a6a649b7cb752dd6c869132f845ccd3ebd9 Mon Sep 17 00:00:00 2001 From: laserpants Date: Mon, 2 May 2016 00:44:38 +0300 Subject: [PATCH] draw basic thumb geometry --- components/slider_p.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/components/slider_p.h b/components/slider_p.h index 5a431db..bd62ebc 100644 --- a/components/slider_p.h +++ b/components/slider_p.h @@ -34,7 +34,9 @@ public: brush.setColor(QColor(0, 0, 0, 255)); painter->save(); + painter->fillRect(trackGeometry(), brush); + painter->restore(); #ifdef DEBUG_LAYOUT @@ -42,10 +44,30 @@ public: #endif } + QRectF thumbGeometry() const + { + Q_Q(const Slider); + + return Qt::Horizontal == orientation + ? QRectF(0, q->rect().height()/2 - 5, 10, 10) + : QRectF(q->rect().width()/2 - 5, 0, 10, 10); + } + void paintThumb(QPainter *painter) { + Q_Q(Slider); + + QBrush brush; + brush.setStyle(Qt::SolidPattern); + brush.setColor(QColor(0, 0, 0, 255)); + painter->save(); + painter->setRenderHint(QPainter::Antialiasing); + + painter->setBrush(brush); + painter->drawEllipse(thumbGeometry()); + painter->restore(); }