From 7aaa061db40c09742ea8edf66ee0c9053d2b3270 Mon Sep 17 00:00:00 2001 From: Mack Duan Date: Mon, 25 Mar 2013 11:32:51 -0700 Subject: [PATCH] Fix issue w/ textlayer on retina causing it to be visible only in top quadrant --- web/viewer.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/web/viewer.js b/web/viewer.js index 232f8fbe5..64d90a5e0 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -2116,20 +2116,22 @@ var PageView = function pageView(container, pdfPage, id, scale, div.appendChild(canvas); this.canvas = canvas; - var textLayerDiv = null; - if (!PDFJS.disableTextLayer) { - textLayerDiv = document.createElement('div'); - textLayerDiv.className = 'textLayer'; - div.appendChild(textLayerDiv); - } - var textLayer = this.textLayer = - textLayerDiv ? new TextLayerBuilder(textLayerDiv, this.id - 1) : null; - var scale = this.scale, viewport = this.viewport; var outputScale = PDFView.getOutputScale(); canvas.width = Math.floor(viewport.width) * outputScale.sx; canvas.height = Math.floor(viewport.height) * outputScale.sy; + var textLayerDiv = null; + if (!PDFJS.disableTextLayer) { + textLayerDiv = document.createElement('div'); + textLayerDiv.className = 'textLayer'; + textLayerDiv.style.width = canvas.width + 'px'; + textLayerDiv.style.height = canvas.height + 'px'; + div.appendChild(textLayerDiv); + } + var textLayer = this.textLayer = + textLayerDiv ? new TextLayerBuilder(textLayerDiv, this.id - 1) : null; + if (outputScale.scaled) { var cssScale = 'scale(' + (1 / outputScale.sx) + ', ' + (1 / outputScale.sy) + ')';