mirror of
https://github.com/nasa/openmct.git
synced 2025-04-20 00:51:09 +00:00
[Mobile] Gesture
Zooms in at 0.01 amount (like last commit) however the pinch's midpoint is the center point at which the zoom focuses on.
This commit is contained in:
parent
d65e0f820f
commit
3926d6f617
@ -277,25 +277,41 @@ define(
|
||||
Math.pow(coordOne.clientY - coordTwo.clientY, 2));
|
||||
}
|
||||
|
||||
function calculateViewport(touchPostion, ratio) {
|
||||
var tl, br;
|
||||
function setDR(midpoint) {
|
||||
return {
|
||||
tl: {
|
||||
domain: Math.abs(midpoint.domain - ($scope.viewport.topLeft.domain)),
|
||||
range: Math.abs(midpoint.range - ($scope.viewport.topLeft.range))
|
||||
},
|
||||
|
||||
br: {
|
||||
domain: Math.abs(($scope.viewport.bottomRight.domain) - midpoint.domain),
|
||||
range: Math.abs(($scope.viewport.bottomRight.range) - midpoint.range)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function calculateViewport(midpoint, touchPosition, ratio) {
|
||||
var tl,
|
||||
br,
|
||||
drSet = setDR(midpoint);
|
||||
if (ratio < 1) {
|
||||
tl = {
|
||||
domain: 0.01,
|
||||
range: 0.01
|
||||
domain: 0.01 * drSet.tl.domain,
|
||||
range: 0.01 * drSet.tl.range
|
||||
};
|
||||
br = {
|
||||
domain: 0.01,
|
||||
range: 0.01
|
||||
domain: 0.01 * drSet.br.domain,
|
||||
range: 0.01 * drSet.br.range
|
||||
};
|
||||
} else if (ratio > 1) {
|
||||
tl = {
|
||||
domain: - 0.01,
|
||||
range: - 0.01
|
||||
domain: - 0.01 * drSet.tl.domain,
|
||||
range: - 0.01 * drSet.tl.range
|
||||
};
|
||||
br = {
|
||||
domain: - 0.01,
|
||||
range: - 0.01
|
||||
domain: - 0.01 * drSet.br.domain,
|
||||
range: - 0.01 * drSet.br.range
|
||||
};
|
||||
}
|
||||
|
||||
@ -320,7 +336,7 @@ define(
|
||||
newTouchPosition = [trackTouchPosition(touches[0], bounds).positionAsPlotPoint,
|
||||
trackTouchPosition(touches[1], bounds).positionAsPlotPoint],
|
||||
distanceRatio = firstTouchDistance / distance,
|
||||
newViewport = calculateViewport(newTouchPosition, distanceRatio);
|
||||
newViewport = calculateViewport(newMidpointPosition, newTouchPosition, distanceRatio);
|
||||
|
||||
console.log(newViewport);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user