]> _ Git - fluidbook-html5.git/commitdiff
fix #2352 @3
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 15 Nov 2018 14:11:36 +0000 (15:11 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 15 Nov 2018 14:11:36 +0000 (15:11 +0100)
js/libs/fluidbook/fluidbook.loader.js

index 75e0955caf17ba8bfa346a52106bb7326a8ae1b3..4dc13fee2a648e95ac4d30a799066ee4b98f20fa 100644 (file)
@@ -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) {