diff --git a/pdf.js b/pdf.js index 469eec578..be585046f 100644 --- a/pdf.js +++ b/pdf.js @@ -4727,7 +4727,7 @@ var CanvasGraphics = (function() { var scaleFactorX = 1, scaleFactorY = 1; var font = this.current.font; if (font) { - if (this.current.fontSize < kRasterizerMin) { + if (this.current.fontSize <= kRasterizerMin) { scaleFactorX = scaleFactorY = kScalePrecision; ctx.scale(1 / scaleFactorX, 1 / scaleFactorY); } diff --git a/web/images/document-print.svg b/web/images/document-print.svg new file mode 100644 index 000000000..0b8837ba1 --- /dev/null +++ b/web/images/document-print.svg @@ -0,0 +1,532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Print Document + + + Jakub Steiner + + + + http://jimmac.musichall.cz + + + document + lpr + print + local + laser + bubblejet + inkjet + print + output + cups + lpd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/images/go-down.svg b/web/images/go-down.svg index 18dadc498..95b82afd1 100644 --- a/web/images/go-down.svg +++ b/web/images/go-down.svg @@ -2,16 +2,16 @@ + http://jimmac.musichall.cz + rdf:resource="http://creativecommons.org/licenses/publicdomain/" /> Go Down @@ -146,19 +153,13 @@ + rdf:about="http://creativecommons.org/licenses/publicdomain/"> + rdf:resource="http://creativecommons.org/ns#Reproduction" /> - - + rdf:resource="http://creativecommons.org/ns#Distribution" /> - + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> diff --git a/web/images/go-up.svg b/web/images/go-up.svg index 0e3d01d17..54263df3e 100644 --- a/web/images/go-up.svg +++ b/web/images/go-up.svg @@ -2,16 +2,16 @@ + http://jimmac.musichall.cz + rdf:resource="http://creativecommons.org/licenses/publicdomain/" /> Go Up @@ -146,19 +153,13 @@ + rdf:about="http://creativecommons.org/licenses/publicdomain/"> + rdf:resource="http://creativecommons.org/ns#Reproduction" /> - - + rdf:resource="http://creativecommons.org/ns#Distribution" /> - + rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /> diff --git a/web/viewer.html b/web/viewer.html index 285dadb01..e740c2bc0 100644 --- a/web/viewer.html +++ b/web/viewer.html @@ -44,6 +44,13 @@
+ + +
+
diff --git a/web/viewer.js b/web/viewer.js index fde57a8d0..f0ecd4667 100644 --- a/web/viewer.js +++ b/web/viewer.js @@ -5,7 +5,6 @@ var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf'; var kDefaultScale = 150; - var kCacheSize = 20; var Cache = function(size) { @@ -24,19 +23,17 @@ var PDFView = { thumbnails: [], set scale(val) { - var options = document.getElementById('scaleSelect').options; - for (var i = 0; i < options.length; i++) { - var option = options[i]; - option.selected = (option.value == val); - } - var pages = this.pages; var cssUnits = 96.0 / 72.0; for (var i = 0; i < pages.length; i++) pages[i].update(val / 100 * cssUnits); // Jump the scroll position to the correct page. - this.page = this.page; + document.location.hash = this.page; + + var event = document.createEvent("UIEvents"); + event.initUIEvent("scalechange", false, false, window, val); + window.dispatchEvent(event); }, set page(val) { @@ -58,7 +55,7 @@ var PDFView = { }, get page() { - return parseInt(document.location.hash.substring(1)) || 1; + return parseInt(document.location.hash.substring(1)); }, open: function(url, scale) { @@ -309,7 +306,7 @@ window.addEventListener('pdfloaded', function(evt) { PDFView.load(evt.detail); }, true); -window.addEventListener('scroll', function(evt) { +window.addEventListener('scroll', function onscroll(evt) { var visiblePages = PDFView.getVisiblePages(); for (var i = 0; i < visiblePages.length; i++) { var page = visiblePages[i]; @@ -372,3 +369,19 @@ window.addEventListener('transitionend', function(evt) { }, 500); }, true); + +window.addEventListener("scalechange", function(evt) { + var options = document.getElementById('scaleSelect').options; + for (var i = 0; i < options.length; i++) { + var option = options[i]; + option.selected = (option.value == evt.detail); + } +}, true); + +window.addEventListener("pagechange", function(evt) { + var page = evt.detail; + document.location.hash = page; + document.getElementById("pageNumber").value = page; + document.getElementById("previous").disabled = (page == 1); + document.getElementById("next").disabled = (page == PDFView.pages.length); +}, true);