mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-27 23:56:09 +03:00
Compare commits
5 Commits
11f70d54e8
...
09544f795f
Author | SHA1 | Date | |
---|---|---|---|
|
09544f795f | ||
|
c92fe116c5 | ||
|
bd8e8a9e7f | ||
|
5aa5d7ad56 | ||
|
6d35f6df2c |
@ -7,7 +7,7 @@ OPENSEADRAGON CHANGELOG
|
|||||||
* DEPRECATION: Don't access the viewport's degrees property directly anymore; instead use setRotation and getRotation (#2136 @jonasengelmann)
|
* DEPRECATION: Don't access the viewport's degrees property directly anymore; instead use setRotation and getRotation (#2136 @jonasengelmann)
|
||||||
* New gesture: Double-click and drag to zoom (on by default for touch) (#2225 @HamzaTatheer)
|
* New gesture: Double-click and drag to zoom (on by default for touch) (#2225 @HamzaTatheer)
|
||||||
* You can now provide a pivot point when rotating the viewport (#2233 @ pearcetm)
|
* You can now provide a pivot point when rotating the viewport (#2233 @ pearcetm)
|
||||||
* Improved the constraints that keep the image in the viewer, specifically when zoomed out a lot (#2160 @joedf)
|
* Improved the constraints that keep the image in the viewer, specifically when zoomed out a lot (#2160 @joedf, #2246 @pearcetm)
|
||||||
* You can now provide an element for the navigator (as an alternative to an ID) (#1303 @cameronbaney, #2166 #2175 @joedf)
|
* You can now provide an element for the navigator (as an alternative to an ID) (#1303 @cameronbaney, #2166 #2175 @joedf)
|
||||||
* Now supporting IIIF "id" and "identifier" in addition to "@id" (#2173 @ahankinson)
|
* Now supporting IIIF "id" and "identifier" in addition to "@id" (#2173 @ahankinson)
|
||||||
* We now delegate tile fetching and caching to the TileSource, to allow for custom tile formats (#2148 @Aiosa)
|
* We now delegate tile fetching and caching to the TileSource, to allow for custom tile formats (#2148 @Aiosa)
|
||||||
|
@ -530,26 +530,20 @@ $.Viewport.prototype = {
|
|||||||
var horizontalThreshold, leftDx, rightDx;
|
var horizontalThreshold, leftDx, rightDx;
|
||||||
if (newBounds.width > this._contentBoundsNoRotate.width) {
|
if (newBounds.width > this._contentBoundsNoRotate.width) {
|
||||||
horizontalThreshold = this.visibilityRatio * this._contentBoundsNoRotate.width;
|
horizontalThreshold = this.visibilityRatio * this._contentBoundsNoRotate.width;
|
||||||
leftDx = this._contentBoundsNoRotate.x - newBounds.x + horizontalThreshold;
|
|
||||||
rightDx = contentRight - boundsRight - horizontalThreshold;
|
|
||||||
|
|
||||||
if (rightDx > 0) {
|
|
||||||
newBounds.x += rightDx;
|
|
||||||
} else if (leftDx < 0) {
|
|
||||||
newBounds.x += leftDx;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
horizontalThreshold = this.visibilityRatio * newBounds.width;
|
horizontalThreshold = this.visibilityRatio * newBounds.width;
|
||||||
leftDx = this._contentBoundsNoRotate.x - boundsRight + horizontalThreshold;
|
|
||||||
rightDx = contentRight - newBounds.x - horizontalThreshold;
|
|
||||||
if (horizontalThreshold > this._contentBoundsNoRotate.width) {
|
|
||||||
newBounds.x += (leftDx + rightDx) / 2;
|
|
||||||
} else if (rightDx < 0) {
|
|
||||||
newBounds.x += rightDx;
|
|
||||||
} else if (leftDx > 0) {
|
|
||||||
newBounds.x += leftDx;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
leftDx = this._contentBoundsNoRotate.x - boundsRight + horizontalThreshold;
|
||||||
|
rightDx = contentRight - newBounds.x - horizontalThreshold;
|
||||||
|
if (horizontalThreshold > this._contentBoundsNoRotate.width) {
|
||||||
|
newBounds.x += (leftDx + rightDx) / 2;
|
||||||
|
} else if (rightDx < 0) {
|
||||||
|
newBounds.x += rightDx;
|
||||||
|
} else if (leftDx > 0) {
|
||||||
|
newBounds.x += leftDx;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.wrapVertical) {
|
if (this.wrapVertical) {
|
||||||
@ -561,26 +555,20 @@ $.Viewport.prototype = {
|
|||||||
var verticalThreshold, topDy, bottomDy;
|
var verticalThreshold, topDy, bottomDy;
|
||||||
if (newBounds.height > this._contentBoundsNoRotate.height) {
|
if (newBounds.height > this._contentBoundsNoRotate.height) {
|
||||||
verticalThreshold = this.visibilityRatio * this._contentBoundsNoRotate.height;
|
verticalThreshold = this.visibilityRatio * this._contentBoundsNoRotate.height;
|
||||||
topDy = this._contentBoundsNoRotate.y - newBounds.y + verticalThreshold;
|
} else{
|
||||||
bottomDy = contentBottom - boundsBottom - verticalThreshold;
|
|
||||||
|
|
||||||
if (bottomDy > 0) {
|
|
||||||
newBounds.y += bottomDy;
|
|
||||||
} else if (topDy < 0) {
|
|
||||||
newBounds.y += topDy;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
verticalThreshold = this.visibilityRatio * newBounds.height;
|
verticalThreshold = this.visibilityRatio * newBounds.height;
|
||||||
topDy = this._contentBoundsNoRotate.y - boundsBottom + verticalThreshold;
|
|
||||||
bottomDy = contentBottom - newBounds.y - verticalThreshold;
|
|
||||||
if (verticalThreshold > this._contentBoundsNoRotate.height) {
|
|
||||||
newBounds.y += (topDy + bottomDy) / 2;
|
|
||||||
} else if (bottomDy < 0) {
|
|
||||||
newBounds.y += bottomDy;
|
|
||||||
} else if (topDy > 0) {
|
|
||||||
newBounds.y += topDy;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
topDy = this._contentBoundsNoRotate.y - boundsBottom + verticalThreshold;
|
||||||
|
bottomDy = contentBottom - newBounds.y - verticalThreshold;
|
||||||
|
if (verticalThreshold > this._contentBoundsNoRotate.height) {
|
||||||
|
newBounds.y += (topDy + bottomDy) / 2;
|
||||||
|
} else if (bottomDy < 0) {
|
||||||
|
newBounds.y += bottomDy;
|
||||||
|
} else if (topDy > 0) {
|
||||||
|
newBounds.y += topDy;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return newBounds;
|
return newBounds;
|
||||||
|
Loading…
Reference in New Issue
Block a user