mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-23 21:56:10 +03:00
Compare commits
6 Commits
e8adefbe6e
...
c20b2bbab9
Author | SHA1 | Date | |
---|---|---|---|
|
c20b2bbab9 | ||
|
71a1f06e35 | ||
|
5b7be6be05 | ||
|
325f65fe5c | ||
|
7d6437b2cd | ||
|
a6d1472134 |
@ -3,6 +3,8 @@ OPENSEADRAGON CHANGELOG
|
||||
|
||||
3.2.0: (in progress)
|
||||
|
||||
* Improved the constraints that keep the image in the viewer, specifically when zoomed out a lot (#2160 @joedf)
|
||||
|
||||
3.1.0:
|
||||
|
||||
* Added subPixelRoundingForTransparency Viewer option to address seams that can appear in semi-transparent images (#2075 @TanukiSharp)
|
||||
|
@ -500,36 +500,62 @@ $.Viewport.prototype = {
|
||||
if (this.wrapHorizontal) {
|
||||
//do nothing
|
||||
} else {
|
||||
var horizontalThreshold = this.visibilityRatio * newBounds.width;
|
||||
var boundsRight = newBounds.x + newBounds.width;
|
||||
var contentRight = this._contentBoundsNoRotate.x + this._contentBoundsNoRotate.width;
|
||||
var leftDx = this._contentBoundsNoRotate.x - boundsRight + horizontalThreshold;
|
||||
var 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;
|
||||
var horizontalThreshold, leftDx, rightDx;
|
||||
if (newBounds.width > 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 {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.wrapVertical) {
|
||||
//do nothing
|
||||
} else {
|
||||
var verticalThreshold = this.visibilityRatio * newBounds.height;
|
||||
var boundsBottom = newBounds.y + newBounds.height;
|
||||
var contentBottom = this._contentBoundsNoRotate.y + this._contentBoundsNoRotate.height;
|
||||
var topDy = this._contentBoundsNoRotate.y - boundsBottom + verticalThreshold;
|
||||
var 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;
|
||||
var verticalThreshold, topDy, bottomDy;
|
||||
if (newBounds.height > this._contentBoundsNoRotate.height) {
|
||||
verticalThreshold = this.visibilityRatio * this._contentBoundsNoRotate.height;
|
||||
topDy = this._contentBoundsNoRotate.y - newBounds.y + verticalThreshold;
|
||||
bottomDy = contentBottom - boundsBottom - verticalThreshold;
|
||||
|
||||
if (bottomDy > 0) {
|
||||
newBounds.y += bottomDy;
|
||||
} else if (topDy < 0) {
|
||||
newBounds.y += topDy;
|
||||
}
|
||||
} else {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user