Limit panning in 2D view to keep texture in viewport
This commit is contained in:
@@ -324,5 +324,15 @@ class UIView2D {
|
||||
else if (kb.started("right")) panX += 5;
|
||||
if (kb.started("up")) panY -= 5;
|
||||
else if (kb.started("down")) panY += 5;
|
||||
|
||||
// Limit panning to keep texture in viewport
|
||||
var border = 32;
|
||||
var tw = ww * 0.95 * panScale;
|
||||
var tx = ww / 2 - tw / 2 + panX;
|
||||
var ty = iron.App.h() / 2 - tw / 2 + panY;
|
||||
if (tx + border > ww) panX = ww / 2 + tw / 2 - border;
|
||||
else if (tx - border < -tw) panX = -tw / 2 - ww / 2 + border;
|
||||
if (ty + border > wh) panY = wh / 2 + tw / 2 - border;
|
||||
else if (ty - border < -tw) panY = -tw / 2 - wh / 2 + border;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user