Hide canvas overflow for high dpi screens.

This commit is contained in:
Brendan Dahl 2013-05-30 08:17:16 -07:00
parent efde079417
commit 4a7bd37162
2 changed files with 15 additions and 2 deletions

View File

@ -1129,6 +1129,10 @@ html[dir='rtl'] .outlineItem > a {
bottom: 35px;
}
.canvasWrapper {
overflow: hidden;
}
canvas {
margin: auto;
display: block;

View File

@ -2501,12 +2501,21 @@ var PageView = function pageView(container, id, scale,
this.renderingState = RenderingStates.RUNNING;
var viewport = this.viewport;
// Wrap the canvas so if it has a css transform for highdpi the overflow
// will be hidden in FF.
var canvasWrapper = document.createElement('div');
canvasWrapper.style.width = div.style.width;
canvasWrapper.style.height = div.style.height;
canvasWrapper.classList.add('canvasWrapper');
var canvas = document.createElement('canvas');
canvas.id = 'page' + this.id;
div.appendChild(canvas);
canvasWrapper.appendChild(canvas);
div.appendChild(canvasWrapper);
this.canvas = canvas;
var scale = this.scale, viewport = this.viewport;
var scale = this.scale;
var outputScale = PDFView.getOutputScale();
canvas.width = Math.floor(viewport.width) * outputScale.sx;
canvas.height = Math.floor(viewport.height) * outputScale.sy;