3 changed files with 69 additions and 1 deletions
@ -0,0 +1,67 @@ |
|||||||
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
||||||
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ |
||||||
|
|
||||||
|
'use strict'; |
||||||
|
|
||||||
|
var WorkerPage = (function() { |
||||||
|
function constructor(workerPDF, page) { |
||||||
|
this.workerPDF = workerPDF; |
||||||
|
this.page = page; |
||||||
|
|
||||||
|
this.ref = page.ref; |
||||||
|
} |
||||||
|
|
||||||
|
constructor.prototype = { |
||||||
|
get width() { |
||||||
|
return this.page.width; |
||||||
|
}, |
||||||
|
|
||||||
|
get height() { |
||||||
|
return this.page.height; |
||||||
|
}, |
||||||
|
|
||||||
|
get stats() { |
||||||
|
return this.page.stats; |
||||||
|
}, |
||||||
|
|
||||||
|
startRendering: function(ctx, callback, errback) { |
||||||
|
// TODO: Place the worker magic HERE.
|
||||||
|
this.page.startRendering(ctx, callback, errback); |
||||||
|
}, |
||||||
|
|
||||||
|
getLinks: function() { |
||||||
|
return this.page.getLinks(); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
return constructor; |
||||||
|
})(); |
||||||
|
|
||||||
|
var WorkerPDFDoc = (function() { |
||||||
|
function constructor(data) { |
||||||
|
this.data = data; |
||||||
|
this.stream = new Stream(data); |
||||||
|
this.pdf = new PDFDoc(this.stream); |
||||||
|
|
||||||
|
this.catalog = this.pdf.catalog; |
||||||
|
|
||||||
|
this.pageCache = []; |
||||||
|
} |
||||||
|
|
||||||
|
constructor.prototype = { |
||||||
|
get numPages() { |
||||||
|
return this.pdf.numPages; |
||||||
|
}, |
||||||
|
|
||||||
|
getPage: function(n) { |
||||||
|
if (this.pageCache[n]) { |
||||||
|
return this.pageCache[n]; |
||||||
|
} |
||||||
|
|
||||||
|
var page = this.pdf.getPage(n); |
||||||
|
return this.pageCache[n] = new WorkerPage(this, page); |
||||||
|
} |
||||||
|
}; |
||||||
|
|
||||||
|
return constructor; |
||||||
|
})(); |
Loading…
Reference in new issue