Refactors draw method in PDFPageView; makes optional some PDFPageViewOptions options

This commit is contained in:
Yury Delendik 2014-12-17 14:47:14 -06:00
parent 2ac7ac4678
commit 2565e627a3
6 changed files with 84 additions and 17 deletions

View file

@ -139,17 +139,22 @@ var ThumbnailView = function thumbnailView(container, id, defaultViewport,
return !this.hasImage;
};
this.draw = function thumbnailViewDraw(callback) {
this.draw = function thumbnailViewDraw() {
if (this.renderingState !== RenderingStates.INITIAL) {
console.error('Must be in new state before drawing');
}
this.renderingState = RenderingStates.RUNNING;
if (this.hasImage) {
callback();
return;
return Promise.resolve(undefined);
}
var resolveRenderPromise, rejectRenderPromise;
var promise = new Promise(function (resolve, reject) {
resolveRenderPromise = resolve;
rejectRenderPromise = reject;
});
var self = this;
var ctx = this.getPageDrawContext();
var drawViewport = this.viewport.clone({ scale: this.scale });
@ -171,14 +176,15 @@ var ThumbnailView = function thumbnailView(container, id, defaultViewport,
this.pdfPage.render(renderContext).promise.then(
function pdfPageRenderCallback() {
self.renderingState = RenderingStates.FINISHED;
callback();
resolveRenderPromise(undefined);
},
function pdfPageRenderError(error) {
self.renderingState = RenderingStates.FINISHED;
callback();
rejectRenderPromise(error);
}
);
this.hasImage = true;
return promise;
};
function getTempCanvas(width, height) {