From d5bbbcc80cf5ff86749a3bef31ff270e96ee0dfd Mon Sep 17 00:00:00 2001 From: drdev Date: Sat, 12 Nov 2016 22:01:51 +0000 Subject: [PATCH] Prevent flicker when moving planeswalker if not enough room for 3 rows on the screen at one time --- .../screens/planarconquest/ConquestMultiverseScreen.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java index a9e21ed050a..78a9141b68d 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMultiverseScreen.java @@ -493,9 +493,14 @@ public class ConquestMultiverseScreen extends FScreen { float w = getWidth(); float regionHeight = w / CardRenderer.CARD_ART_RATIO; float rowHeight = regionHeight / model.getCurrentPlane().getRowsPerRegion(); + float margin = rowHeight * 1.5f; //use rowHeight * 1.5f margin so an extra row is kept visible above and below your current location + float maxMargin = getHeight() / 2; //prevent flicker if rows too tall to fit 3 on screen at once + if (margin > maxMargin) { + margin = maxMargin; + } Vector2 pos = activeMoveAnimation == null ? getPosition(model.getCurrentLocation()) : activeMoveAnimation.pos; - scrollIntoView(pos.x, pos.y - getScrollTop(), 0, 0, rowHeight * 1.5f); //use rowHeight * 1.5f margin so an extra row is kept visible above and below your current location + scrollIntoView(pos.x, pos.y - getScrollTop(), 0, 0, margin); } private class MoveAnimation extends ForgeAnimation {