Merge pull request #3633 from thelounge/xpaw/viewer-position
Restrict image viewer bounds while moving
This commit is contained in:
commit
b1f5ba87cf
@ -197,7 +197,6 @@ export default {
|
|||||||
const touchMove = (moveEvent) => {
|
const touchMove = (moveEvent) => {
|
||||||
touch = this.reduceTouches(moveEvent.touches);
|
touch = this.reduceTouches(moveEvent.touches);
|
||||||
|
|
||||||
// TODO: There's bugs with multi finger interactions, needs more testing
|
|
||||||
if (currentTouches.length !== moveEvent.touches.length) {
|
if (currentTouches.length !== moveEvent.touches.length) {
|
||||||
currentTransform.x = touch.x;
|
currentTransform.x = touch.x;
|
||||||
currentTransform.y = touch.y;
|
currentTransform.y = touch.y;
|
||||||
@ -221,16 +220,10 @@ export default {
|
|||||||
startTransform.y
|
startTransform.y
|
||||||
);
|
);
|
||||||
|
|
||||||
if (newScale > 1) {
|
this.transform.x = fixedPosition.x + deltaX;
|
||||||
this.transform.x = fixedPosition.x + deltaX;
|
this.transform.y = fixedPosition.y + deltaY;
|
||||||
this.transform.y = fixedPosition.y + deltaY;
|
|
||||||
} else if (Math.abs(deltaX) > Math.abs(deltaY)) {
|
|
||||||
this.transform.x = fixedPosition.x + deltaX;
|
|
||||||
} else {
|
|
||||||
this.transform.y = fixedPosition.y + deltaY;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.transform.scale = newScale;
|
this.transform.scale = newScale;
|
||||||
|
this.correctPosition();
|
||||||
};
|
};
|
||||||
|
|
||||||
const touchEnd = (endEvent) => {
|
const touchEnd = (endEvent) => {
|
||||||
@ -302,6 +295,8 @@ export default {
|
|||||||
if (centerY < 0 || heightScaled + centerY > containerHeight) {
|
if (centerY < 0 || heightScaled + centerY > containerHeight) {
|
||||||
this.transform.y = startTransformY + newY;
|
this.transform.y = startTransformY + newY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.correctPosition();
|
||||||
};
|
};
|
||||||
|
|
||||||
const mouseUp = (upEvent) => {
|
const mouseUp = (upEvent) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user