27 : QScrollBar(orientation)
30 setFocusProxy(m_view);
33 connect(
this, &QScrollBar::valueChanged,
this, &WebScrollBar::performScroll);
39 return orientation() == Qt::Vertical ? width() : height();
49 m_blockScrolling =
true;
51 if (orientation() == Qt::Vertical) {
52 setFixedHeight(m_view->height() - (m_view->height() - viewport.height()) * devicePixelRatioF());
53 move(m_view->width() - width(), 0);
54 setPageStep(viewport.height());
55 setMaximum(qMax(0, m_view->
page()->contentsSize().toSize().height() - viewport.height()));
56 newValue = m_view->
page()->scrollPosition().toPoint().y();
58 setFixedWidth(m_view->width() - (m_view->width() - viewport.width()) * devicePixelRatioF());
59 move(0, m_view->height() - height());
60 setPageStep(viewport.width());
61 setMaximum(qMax(0, m_view->
page()->contentsSize().toSize().width() - viewport.width()));
62 newValue = m_view->
page()->scrollPosition().toPoint().x();
65 if (!isSliderDown()) {
69 m_blockScrolling =
false;
72void WebScrollBar::performScroll()
74 if (m_blockScrolling) {
78 QPointF pos = m_view->
page()->scrollPosition();
80 if (orientation() == Qt::Vertical) {
89void WebScrollBar::paintEvent(QPaintEvent *ev)
91 QPainter painter(
this);
92 painter.fillRect(ev->rect(), palette().window());
93 QScrollBar::paintEvent(ev);
void setScrollPosition(const QPointF &pos)
virtual QWidget * overlayWidget()=0
int value(const QColor &c)