-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Description
-
Sequencing:
1.1 Create UiListView
1.2 Set Anchor Point (0.0, 1.0)
1.3 UiLayout::setClippingType(ClippingType::SCISSOR);
1.4 Total: Anchor Point counted twice -
Possible location of the problem:
2.1 Layout::getClippingRect
UiLayout (ClippingType::SCISSOR) call func Layout::getClippingRect()
If _clippingParent == nullptr:
_clippingRect.origin.x = worldPos.x - (scissorWidth * _anchorPoint.x); _clippingRect.origin.y = worldPos.y - (scissorHeight * _anchorPoint.y); _clippingRect.size.width = scissorWidth; _clippingRect.size.height = scissorHeight;
2.2 But the amendment (Anchor Point) is already inside the function convertToWorldSpace:
Vec2 worldPos = convertToWorldSpace(Vec2::ZERO);
-
Possible Solution:
3.1 Correct function Layout::getClippingRect()
If _clippingParent == nullptr:
_clippingRect.origin.x = worldPos.x; _clippingRect.origin.y = worldPos.y; _clippingRect.size.width = scissorWidth; _clippingRect.size.height = scissorHeight;