From c76e2c511421010a6e6dcc86a278f6afe71c1cfc Mon Sep 17 00:00:00 2001 From: Vivien Nicolas <21@vingtetun.org> Date: Thu, 26 May 2011 16:02:52 +0200 Subject: [PATCH] Separate js and css from the test.html file --- test.css | 35 +++++++++++++ test.html | 147 +++++++++--------------------------------------------- test.js | 66 ++++++++++++++++++++++++ 3 files changed, 125 insertions(+), 123 deletions(-) create mode 100644 test.css create mode 100644 test.js diff --git a/test.css b/test.css new file mode 100644 index 000000000..0a3449ae9 --- /dev/null +++ b/test.css @@ -0,0 +1,35 @@ +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- / +/* vim: set shiftwidth=4 tabstop=8 autoindent cindent expandtab: */ + +body { + margin: 6px; + padding: 0px; + background-color: #c0bdb7; +} + +#controls { + position:fixed; + left: 0px; + top: 0px; + width: 100%; + padding: 7px; + border-bottom: 1px solid black; + background-color: rgb(242, 240, 238); +} + +span#info { + float: right; + font: 14px sans-serif; + margin-right: 10px; +} + +#viewer { + margin: auto; + border: 1px solid black; + width: 8.5in; + height: 11in; +} + +#pageNumber { + text-align: right; +} diff --git a/test.html b/test.html index 10a35e163..f14533add 100644 --- a/test.html +++ b/test.html @@ -1,125 +1,26 @@ - - Simple pdf.js page viewer - - - - - - - -
- - - - -
-
- - -
- - + + Simple pdf.js page viewer + + + + + + + +
+ + + + +
+ +
+ + +
+ + diff --git a/test.js b/test.js new file mode 100644 index 000000000..ef586cd34 --- /dev/null +++ b/test.js @@ -0,0 +1,66 @@ +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- / +/* vim: set shiftwidth=4 tabstop=8 autoindent cindent expandtab: */ + +var pdfDocument, canvas, pageDisplay, pageNum; +function load() { + canvas = document.getElementById("canvas"); + canvas.mozOpaque = true; + open("uncompressed.tracemonkey-pldi-09.pdf"); +} + +function open(url) { + document.title = url; + req = new XMLHttpRequest(); + req.open("GET", url); + req.mozResponseType = req.responseType = "arraybuffer"; + req.expected = (document.URL.indexOf("file:") == 0) ? 0 : 200; + req.onreadystatechange = function() { + if (req.readyState == 4 && req.status == req.expected) { + var data = req.mozResponseArrayBuffer || req.mozResponse || + req.responseArrayBuffer || req.response; + pdfDocument = new PDFDoc(new Stream(data)); + displayPage(1); + } + }; + req.send(null); +} + +function displayPage(num) { + document.getElementById("pageNumber").value = num; + + var t0 = Date.now(); + + var page = pdfDocument.getPage(pageNum = num); + + var t1 = Date.now(); + + var ctx = canvas.getContext("2d"); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, canvas.width, canvas.height); + ctx.restore(); + + var gfx = new CanvasGraphics(ctx); + page.display(gfx); + + var t2 = Date.now(); + + var infoDisplay = document.getElementById("info"); + infoDisplay.innerHTML = "Time to render: "+ (t1 - t0) + "/" + (t2 - t1) + " ms"; +} + +function nextPage() { + if (pageNum < pdfDocument.numPages) + displayPage(++pageNum); +} + +function prevPage() { + if (pageNum > 1) + displayPage(--pageNum); +} + +function gotoPage(num) { + if (0 <= num && num <= numPages) + displayPage(pageNum = num); +} +