16#ifndef QGSDECORATEDSCROLLBAR_H
17#define QGSDECORATEDSCROLLBAR_H
29class QAbstractScrollArea;
30class QgsScrollBarHighlightOverlay;
171 double mLineHeight = 0.0;
172 double mVisibleRange = 0.0;
173 double mMargin = 0.0;
174 QAbstractScrollArea *mScrollArea =
nullptr;
175 QPointer<QgsScrollBarHighlightOverlay> mOverlay;
180class QgsScrollBarHighlightOverlay :
public QWidget
189 void scheduleUpdate();
192 void paintEvent( QPaintEvent *paintEvent )
override;
193 bool eventFilter( QObject *
object, QEvent *event )
override;
196 void drawHighlights( QPainter *painter,
int docStart,
int docSize,
double docSizeToHandleSizeRatio,
int handleOffset,
const QRect &viewport );
198 QRect overlayRect()
const;
199 QRect handleRect()
const;
202 QMap<QgsScrollBarHighlight::Priority, QMap<QRgb, QMap<int, int>>> mHighlightCache;
204 inline QScrollBar *
scrollBar()
const {
return mHighlightController->scrollBar(); }
206 bool mIsCacheUpdateScheduled =
true;