this._preloadContentLinkTextures(page, this.fluidbook.settings.clinks[page], this.fluidbook.settings.links[page], enter, function (textures, clinks) {
if ($this.fluidbook.pagetransitions.flip3d !== false) {
- var dh = screen.height * window.devicePixelRatio * 1.1;
- var dw = $this.fluidbook.settings.width * (dh / $this.fluidbook.settings.height);
- var c = document.getElementById("pscanvas");
- c.width = dw;
- c.height = dh;
- var ctx = c.getContext("2d");
- ctx.clearRect(0, 0, dw, dh);
+ let dh = screen.height * window.devicePixelRatio * 1.1;
+ let dw = $this.fluidbook.settings.width * (dh / $this.fluidbook.settings.height);
+ let canvas = $('<canvas class="pscanvas" id="pscanvas_' + page + '" width="' + dw + '" height="' + dh + '" aria-hidden="true"></canvas>');
+ $("body").append(canvas);
+ let c=canvas.get(0);
+ let ctx = c.getContext("2d");
- var wr = dw / $this.fluidbook.settings.width;
- var hr = dh / $this.fluidbook.settings.height;
+ let wr = dw / $this.fluidbook.settings.width;
+ let hr = dh / $this.fluidbook.settings.height;
// Draw background
if ($this.backgrounds[page] !== undefined && $this.backgrounds[page] !== null) {
ctx.fillRect(0, 0, dw, dh);
}
- var afterTexts = function () {
+ let afterTexts = function () {
// Draw content links
if (clinks !== '') {
$('.texture_clinks[data-page="' + page + '"] .contentLink').each(function () {
let th;
if ($(this).is('[data-image]')) {
- var i = $(this).data('id');
+ let i = $(this).data('id');
if (textures[i] === undefined || textures[i] === null) {
return;
}
sh = th - (sy / (1 - origin[1]));
}
- var left = (parseFloat($(this).css('left'))) * wr;
- var top = (parseFloat($(this).css('top'))) * hr;
- var width = w * wr;
- var height = h * hr;
+ let left = (parseFloat($(this).css('left'))) * wr;
+ let top = (parseFloat($(this).css('top'))) * hr;
+ let width = w * wr;
+ let height = h * hr;
- var blendmode = $(this).data('blendmode');
+ let blendmode = $(this).data('blendmode');
if (blendmode === 'normal') {
ctx.globalCompositeOperation = 'source-over';
// Draw the shadow if necessary
if ($this.fluidbook.settings.shadeAlpha > 0) {
- var sw = dw * .25;
- var s, x;
+ let sw = dw * .25;
+ let s, x;
if (page % 2 === 0 && $this.fluidbook.l10n.ltr || page % 2 === 1 && $this.fluidbook.l10n.rtl) {
// Left
s = $this.shadeLeft;
try {
let dataurl = c.toDataURL("image/png");
- var i = new Image();
+ let i = new Image();
i.onload = function () {
if (enter) {
$this.textures[page] = i;
callback();
}
i.src = dataurl;
+ $(canvas).remove();
} catch (e) {
console.warn(e);
callback();
});
} else {
try {
- var img = $this.texts[page];
+ let img = $this.texts[page];
if (img !== undefined && img !== null) {
img = img.get(0);
if (img.width === 0) {