From d449c6f3d060b8545492515ee49a6a380c50687e Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 15 Nov 2018 15:11:36 +0100 Subject: [PATCH] fix #2352 @3 --- js/libs/fluidbook/fluidbook.loader.js | 31 ++++++++++++++++++--------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/js/libs/fluidbook/fluidbook.loader.js b/js/libs/fluidbook/fluidbook.loader.js index 75e0955c..4dc13fee 100644 --- a/js/libs/fluidbook/fluidbook.loader.js +++ b/js/libs/fluidbook/fluidbook.loader.js @@ -114,7 +114,7 @@ FluidbookLoader.prototype = { } var $__callback = function () { - if ($this.getVersionToLoad(page) === 'textasvector') { + if ($this.getVersionToLoad(page) === 'textasvector' || $this.getVersionToLoad(page) === 'vector') { $this._loadTexts(page, $_callback); } else { $_callback(); @@ -126,9 +126,15 @@ FluidbookLoader.prototype = { return; } - this.backgrounds[page] = this.loadImage(this.getBackgroundURL(page), null, null, null, function () { + var backgroundURL = this.getBackgroundURL(page); + if (backgroundURL === false) { + this.backgrounds[page] = null; $__callback(); - }); + } else { + this.backgrounds[page] = this.loadImage(backgroundURL, null, null, null, function () { + $__callback(); + }); + } }, preloadAround: function (page) { @@ -139,9 +145,9 @@ FluidbookLoader.prototype = { var numPreloadAfter = 8; var numPreloadBefore = 4; - if (this.fluidbook.resize.orientation == 'portrait') { - numPreloadAfter = 4; - numPreloadBefore = 2; + if (this.fluidbook.resize.orientation === 'portrait' || this.fluidbook.singleMode) { + numPreloadAfter /= 2; + numPreloadBefore /= 2; } var fmx = this.fluidbook.contentlock.getMaxPage(); var max = Math.min(page + numPreloadAfter, fmx); @@ -284,10 +290,10 @@ FluidbookLoader.prototype = { }, getBackgroundURL: function (page) { var version = this.getVersionToLoad(page); - if (version == 'vector') { + if (version === 'vector') { return false; } - var prefix = (version == 'textasvector') ? 'p' : 't'; + var prefix = (version === 'textasvector') ? 'p' : 't'; return 'data/background/' + this.fluidbook.support.resolution + '/' + prefix + page + '.jpg'; }, @@ -360,9 +366,14 @@ FluidbookLoader.prototype = { ctx.clearRect(0, 0, d, d); // Draw background - ctx.drawImage(this.backgrounds[page].get(0), 0, 0, d, d); + if (this.backgrounds[page] !== undefined && this.backgrounds[page] !== null) { + ctx.drawImage(this.backgrounds[page].get(0), 0, 0, d, d); + } else { + ctx.fillStyle = "#FFFFFF"; + ctx.fillRect(0, 0, d, d); + } // Draw the texts if necessary - if (this.getVersionToLoad(page) === 'textasvector') { + if (this.getVersionToLoad(page) === 'textasvector' || this.getVersionToLoad(page) === 'vector') { try { ctx.drawImage(this.texts[page].get(0), 0, 0, d, d); } catch (e) { -- 2.39.5