|
|
@ -63,8 +63,8 @@ var Page = (function PageClosure() { |
|
|
|
function Page(xref, pageNumber, pageDict, ref) { |
|
|
|
function Page(xref, pageNumber, pageDict, ref) { |
|
|
|
this.pageNumber = pageNumber; |
|
|
|
this.pageNumber = pageNumber; |
|
|
|
this.pageDict = pageDict; |
|
|
|
this.pageDict = pageDict; |
|
|
|
this.bench = new Bench(); |
|
|
|
this.stats = new StatTimer(); |
|
|
|
this.bench.enabled = !!globalScope.PDFJS.enableBench; |
|
|
|
this.stats.enabled = !!globalScope.PDFJS.enableStats; |
|
|
|
this.xref = xref; |
|
|
|
this.xref = xref; |
|
|
|
this.ref = ref; |
|
|
|
this.ref = ref; |
|
|
|
|
|
|
|
|
|
|
@ -195,7 +195,7 @@ var Page = (function PageClosure() { |
|
|
|
return this.IRQueue; |
|
|
|
return this.IRQueue; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.bench.time('Build IR Queue'); |
|
|
|
this.stats.time('Build IR Queue'); |
|
|
|
|
|
|
|
|
|
|
|
var xref = this.xref; |
|
|
|
var xref = this.xref; |
|
|
|
var content = xref.fetchIfRef(this.content); |
|
|
|
var content = xref.fetchIfRef(this.content); |
|
|
@ -216,12 +216,12 @@ var Page = (function PageClosure() { |
|
|
|
var IRQueue = {}; |
|
|
|
var IRQueue = {}; |
|
|
|
this.IRQueue = pe.getIRQueue(content, resources, IRQueue, dependency); |
|
|
|
this.IRQueue = pe.getIRQueue(content, resources, IRQueue, dependency); |
|
|
|
|
|
|
|
|
|
|
|
this.bench.timeEnd('Build IR Queue'); |
|
|
|
this.stats.timeEnd('Build IR Queue'); |
|
|
|
return this.IRQueue; |
|
|
|
return this.IRQueue; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
ensureFonts: function pageEnsureFonts(fonts, callback) { |
|
|
|
ensureFonts: function pageEnsureFonts(fonts, callback) { |
|
|
|
this.bench.time('Font Loading'); |
|
|
|
this.stats.time('Font Loading'); |
|
|
|
// Convert the font names to the corresponding font obj.
|
|
|
|
// Convert the font names to the corresponding font obj.
|
|
|
|
for (var i = 0, ii = fonts.length; i < ii; i++) { |
|
|
|
for (var i = 0, ii = fonts.length; i < ii; i++) { |
|
|
|
fonts[i] = this.objs.objs[fonts[i]].data; |
|
|
|
fonts[i] = this.objs.objs[fonts[i]].data; |
|
|
@ -231,7 +231,7 @@ var Page = (function PageClosure() { |
|
|
|
var fontObjs = FontLoader.bind( |
|
|
|
var fontObjs = FontLoader.bind( |
|
|
|
fonts, |
|
|
|
fonts, |
|
|
|
function pageEnsureFontsFontObjs(fontObjs) { |
|
|
|
function pageEnsureFontsFontObjs(fontObjs) { |
|
|
|
this.bench.timeEnd('Font Loading'); |
|
|
|
this.stats.timeEnd('Font Loading'); |
|
|
|
|
|
|
|
|
|
|
|
callback.call(this); |
|
|
|
callback.call(this); |
|
|
|
}.bind(this), |
|
|
|
}.bind(this), |
|
|
@ -240,8 +240,8 @@ var Page = (function PageClosure() { |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
display: function pageDisplay(gfx, callback) { |
|
|
|
display: function pageDisplay(gfx, callback) { |
|
|
|
var bench = this.bench; |
|
|
|
var stats = this.stats; |
|
|
|
bench.time('Rendering'); |
|
|
|
stats.time('Rendering'); |
|
|
|
var xref = this.xref; |
|
|
|
var xref = this.xref; |
|
|
|
var resources = xref.fetchIfRef(this.resources); |
|
|
|
var resources = xref.fetchIfRef(this.resources); |
|
|
|
var mediaBox = xref.fetchIfRef(this.mediaBox); |
|
|
|
var mediaBox = xref.fetchIfRef(this.mediaBox); |
|
|
@ -269,8 +269,8 @@ var Page = (function PageClosure() { |
|
|
|
startIdx = gfx.executeIRQueue(IRQueue, startIdx, next, stepper); |
|
|
|
startIdx = gfx.executeIRQueue(IRQueue, startIdx, next, stepper); |
|
|
|
if (startIdx == length) { |
|
|
|
if (startIdx == length) { |
|
|
|
gfx.endDrawing(); |
|
|
|
gfx.endDrawing(); |
|
|
|
bench.timeEnd('Rendering'); |
|
|
|
stats.timeEnd('Rendering'); |
|
|
|
bench.timeEnd('Overall'); |
|
|
|
stats.timeEnd('Overall'); |
|
|
|
if (callback) callback(); |
|
|
|
if (callback) callback(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -413,8 +413,8 @@ var Page = (function PageClosure() { |
|
|
|
return items; |
|
|
|
return items; |
|
|
|
}, |
|
|
|
}, |
|
|
|
startRendering: function pageStartRendering(ctx, callback, textLayer) { |
|
|
|
startRendering: function pageStartRendering(ctx, callback, textLayer) { |
|
|
|
var bench = this.bench; |
|
|
|
var stats = this.stats; |
|
|
|
bench.time('Overall'); |
|
|
|
stats.time('Overall'); |
|
|
|
// If there is no displayReadyPromise yet, then the IRQueue was never
|
|
|
|
// If there is no displayReadyPromise yet, then the IRQueue was never
|
|
|
|
// requested before. Make the request and create the promise.
|
|
|
|
// requested before. Make the request and create the promise.
|
|
|
|
if (!this.displayReadyPromise) { |
|
|
|
if (!this.displayReadyPromise) { |
|
|
@ -712,7 +712,7 @@ var PDFDoc = (function PDFDocClosure() { |
|
|
|
var pageNum = data.pageNum; |
|
|
|
var pageNum = data.pageNum; |
|
|
|
var page = this.pageCache[pageNum]; |
|
|
|
var page = this.pageCache[pageNum]; |
|
|
|
var depFonts = data.depFonts; |
|
|
|
var depFonts = data.depFonts; |
|
|
|
page.bench.timeEnd('Page Request'); |
|
|
|
page.stats.timeEnd('Page Request'); |
|
|
|
page.startRenderingFromIRQueue(data.IRQueue, depFonts); |
|
|
|
page.startRenderingFromIRQueue(data.IRQueue, depFonts); |
|
|
|
}, this); |
|
|
|
}, this); |
|
|
|
|
|
|
|
|
|
|
@ -821,7 +821,7 @@ var PDFDoc = (function PDFDocClosure() { |
|
|
|
startRendering: function pdfDocStartRendering(page) { |
|
|
|
startRendering: function pdfDocStartRendering(page) { |
|
|
|
// The worker might not be ready to receive the page request yet.
|
|
|
|
// The worker might not be ready to receive the page request yet.
|
|
|
|
this.workerReadyPromise.then(function pdfDocStartRenderingThen() { |
|
|
|
this.workerReadyPromise.then(function pdfDocStartRenderingThen() { |
|
|
|
page.bench.time('Page Request'); |
|
|
|
page.stats.time('Page Request'); |
|
|
|
this.messageHandler.send('page_request', page.pageNumber + 1); |
|
|
|
this.messageHandler.send('page_request', page.pageNumber + 1); |
|
|
|
}.bind(this)); |
|
|
|
}.bind(this)); |
|
|
|
}, |
|
|
|
}, |
|
|
|