From: joogab.yun Date: Thu, 27 Jun 2024 08:58:44 +0000 (+0900) Subject: Fix calculation of whether to scroll. X-Git-Tag: dali_2.3.31~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F20%2F313520%2F5;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git Fix calculation of whether to scroll. Change-Id: Id5ce3f23f7caaac8b8a2480b70113d5db25b674b --- diff --git a/dali-toolkit/internal/text/controller/text-controller-impl.cpp b/dali-toolkit/internal/text/controller/text-controller-impl.cpp index 10a76f1..0fd1ea0 100644 --- a/dali-toolkit/internal/text/controller/text-controller-impl.cpp +++ b/dali-toolkit/internal/text/controller/text-controller-impl.cpp @@ -1677,12 +1677,11 @@ bool Controller::Impl::IsScrollable(const Vector2& displacement) { const Vector2& targetSize = mModel->mVisualModel->mControlSize; const Vector2& layoutSize = mModel->mVisualModel->GetLayoutSize(); - const Vector2& scrollPosition = mModel->mScrollPosition; if(isHorizontalScrollEnabled) { - const float displacementX = displacement.x; - const float positionX = scrollPosition.x + displacementX; + const float scrollPositionX = std::max(mModel->mScrollPosition.x, -(layoutSize.width - targetSize.width)); + const float positionX = scrollPositionX + displacement.x; if(layoutSize.width > targetSize.width && -positionX > 0.f && -positionX < layoutSize.width - targetSize.width) { isScrollable = true; @@ -1691,9 +1690,9 @@ bool Controller::Impl::IsScrollable(const Vector2& displacement) if(isVerticalScrollEnabled) { - const float displacementY = displacement.y; - const float positionY = scrollPosition.y + displacementY; - if(layoutSize.height > targetSize.height && -positionY > 0 && -positionY < layoutSize.height - targetSize.height) + const float scrollPositionY = std::max(mModel->mScrollPosition.y, -(layoutSize.height - targetSize.height)); + const float positionY = scrollPositionY + displacement.y; + if(layoutSize.height > targetSize.height && -positionY > 0.f && -positionY < layoutSize.height - targetSize.height) { isScrollable = true; }