From 824cecea329f20f6d2c9c3453677cea8f0943434 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 8 Feb 2010 11:00:47 +1000 Subject: Make atBeginning/viewArea calculations account for min extent. --- src/declarative/graphicsitems/qmlgraphicsflickable.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp index c4edb28..2ff3b30 100644 --- a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp @@ -119,8 +119,8 @@ void QmlGraphicsFlickableVisibleArea::updateVisible() // Vertical const qreal viewheight = flickable->height(); - const qreal maxyextent = -flickable->maxYExtent(); - qreal pagePos = -p->_moveY.value() / (maxyextent + viewheight); + const qreal maxyextent = -flickable->maxYExtent() + flickable->minYExtent(); + qreal pagePos = (-p->_moveY.value() + flickable->minYExtent()) / (maxyextent + viewheight); qreal pageSize = viewheight / (maxyextent + viewheight); if (pageSize != m_heightRatio) { @@ -134,8 +134,8 @@ void QmlGraphicsFlickableVisibleArea::updateVisible() // Horizontal const qreal viewwidth = flickable->width(); - const qreal maxxextent = -flickable->maxXExtent(); - pagePos = -p->_moveX.value() / (maxxextent + viewwidth); + const qreal maxxextent = -flickable->maxXExtent() + flickable->minXExtent(); + pagePos = (-p->_moveX.value() + flickable->minXExtent()) / (maxxextent + viewwidth); pageSize = viewwidth / (maxxextent + viewwidth); if (pageSize != m_widthRatio) { @@ -322,7 +322,7 @@ void QmlGraphicsFlickablePrivate::updateBeginningEnd() // Vertical const int maxyextent = int(-q->maxYExtent()); const qreal ypos = -_moveY.value(); - bool atBeginning = (ypos <= 0.0); + bool atBeginning = (ypos <= -q->minYExtent()); bool atEnd = (maxyextent <= ypos); if (atBeginning != atYBeginning) { @@ -337,7 +337,7 @@ void QmlGraphicsFlickablePrivate::updateBeginningEnd() // Horizontal const int maxxextent = int(-q->maxXExtent()); const qreal xpos = -_moveX.value(); - atBeginning = (xpos <= 0.0); + atBeginning = (xpos <= -q->minXExtent()); atEnd = (maxxextent <= xpos); if (atBeginning != atXBeginning) { -- cgit v0.12