3 changed files with 69 additions and 1 deletions
@ -0,0 +1,67 @@
@@ -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