From: Vincent Vanwaelscappel Date: Wed, 20 Mar 2024 15:47:54 +0000 (+0100) Subject: wip #6800 @0.25 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=03f35d403175e34abe191e47e9499a77645d4fbc;p=fluidbook-html5.git wip #6800 @0.25 --- diff --git a/js/libs/fluidbook/fluidbook.loader.js b/js/libs/fluidbook/fluidbook.loader.js index b84761c0..754df3d8 100644 --- a/js/libs/fluidbook/fluidbook.loader.js +++ b/js/libs/fluidbook/fluidbook.loader.js @@ -857,8 +857,6 @@ FluidbookLoader.prototype = { } - - } else { callback(); } @@ -1026,47 +1024,56 @@ FluidbookLoader.prototype = { return; } var $this = this; + let canvas = $this.prepareCanvas(1); - $('canvas[data-page]:not(.thick)').each(function () { - if ($this.fluidbook.zoom.zoom === 1 && $(this).hasClass('z')) { - return; - } - let c = $this.prepareCanvas($(this), this.fluidbook.settings.svgToCanvasUpscale !== undefined ? parseFloat(this.fluidbook.settings.svgToCanvasUpscale) : 1); - if (!c.changed) { - return; - } - var ctx = c.canvas.getContext("2d"); - - var img = $this.texts[c.page]; - if (img !== undefined && img !== null) { - img = img.get(0); - if (img.width === 0) { - $this.deletePage(c.page); - $this._preloadPage(c.page, function () { + let callback = function (c) { + $('#currentDoublePage .page[data-page="' + c.page + '"] .texts canvas').hide(); + $(c.canvas).show(); + } - }); - return; - } - ctx.drawImage(img, 0, 0, img.width - 2, img.height - 2, 0, 0, c.cw, c.ch); + $.each(canvas, function (k, c) { + if (c.render) { + $this.renderSVGToCanvas(c.page, c.canvas.get(0).getContext("2d"), c.cw, c.ch, function () { + callback(c); + }); + } else { + callback(c); } + }); + }, + renderSVGToCanvas: function (page, ctx, cw, ch, callback) { + let $this = this; + var img = this.texts[page]; + if (img !== undefined && img !== null) { + img = img.get(0); + if (img.width === 0) { + $this.deletePage(c.page); + $this._preloadPage(c.page, function () { - let textThickness = parseFloat($this.fluidbook.settings.textsThickness); - - if (!$(this).hasClass('z') && $this.fluidbook.settings.textsThickness > 1 && $this.fluidbook.settings.textsThicknessPages.indexOf(page) >= 0) { - $('canvas:not(.z)[data-page=' + page + '].thick').remove(); - var clone; - for (var i = 1; i <= textThickness; i++) { - clone = $this._cloneCanvas($(this).get(0)); - $(clone).insertBefore($(this)); - } - var lastOpacity = $this.fluidbook.settings.textsThickness - Math.floor($this.fluidbook.settings.textsThickness); - if (lastOpacity > 0) { - $(clone).css('opacity', lastOpacity); - } + }); + return; } - - }); + ctx.drawImage(img, 0, 0, img.width - 2, img.height - 2, 0, 0, cw, ch); + } + if (callback !== undefined) { + callback(); + } + // + // let textThickness = parseFloat($this.fluidbook.settings.textsThickness); + // + // if (!$(this).hasClass('z') && $this.fluidbook.settings.textsThickness > 1 && $this.fluidbook.settings.textsThicknessPages.indexOf(page) >= 0) { + // $('canvas:not(.z)[data-page=' + page + '].thick').remove(); + // var clone; + // for (var i = 1; i <= textThickness; i++) { + // clone = $this._cloneCanvas($(this).get(0)); + // $(clone).insertBefore($(this)); + // } + // var lastOpacity = $this.fluidbook.settings.textsThickness - Math.floor($this.fluidbook.settings.textsThickness); + // if (lastOpacity > 0) { + // $(clone).css('opacity', lastOpacity); + // } + // } }, _cloneCanvas: function (source) {