From ade13216b31bbfe2d04f887601a454a342b081e5 Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 9 Jul 2021 17:53:36 +0200 Subject: [PATCH] [ts][webgl] Fix WebGL2 check for old Safari versions. --- spine-ts/build/spine-all.d.ts | 22 +- spine-ts/build/spine-all.js | 121 +- spine-ts/build/spine-all.js.map | 2 +- spine-ts/build/spine-canvas.js | 2 +- spine-ts/build/spine-canvas.js.map | 2 +- spine-ts/build/spine-core.js | 2 +- spine-ts/build/spine-core.js.map | 2 +- spine-ts/build/spine-player.d.ts | 3420 ++-- spine-ts/build/spine-player.js | 24826 +++++++++++++------------- spine-ts/build/spine-player.js.map | 2 +- spine-ts/build/spine-threejs.js | 2 +- spine-ts/build/spine-threejs.js.map | 2 +- spine-ts/build/spine-webgl.d.ts | 2 +- spine-ts/build/spine-webgl.js | 4 +- spine-ts/build/spine-webgl.js.map | 2 +- spine-ts/webgl/src/WebGL.ts | 4 +- 16 files changed, 14201 insertions(+), 14216 deletions(-) diff --git a/spine-ts/build/spine-all.d.ts b/spine-ts/build/spine-all.d.ts index e908be94f..2bb7c36f4 100644 --- a/spine-ts/build/spine-all.d.ts +++ b/spine-ts/build/spine-all.d.ts @@ -1699,7 +1699,7 @@ declare module spine.webgl { canvas: HTMLCanvasElement | OffscreenCanvas; gl: WebGLRenderingContext; private restorables; - constructor(canvasOrContext: HTMLCanvasElement | WebGLRenderingContext | EventTarget | WebGL2RenderingContext, contextConfig?: any); + constructor(canvasOrContext: HTMLCanvasElement | WebGLRenderingContext | EventTarget, contextConfig?: any); private setupCanvas; addRestorable(restorable: Restorable): void; removeRestorable(restorable: Restorable): void; @@ -1776,7 +1776,7 @@ declare module spine.threejs { } } declare module spine { - interface SpinePlayerConfig { + export interface SpinePlayerConfig { jsonUrl: string; jsonField: string; binaryUrl: string; @@ -1833,7 +1833,7 @@ declare module spine { loading: (player: SpinePlayer, delta: number) => void; downloader: spine.Downloader; } - interface Viewport { + export interface Viewport { x: number; y: number; width: number; @@ -1843,7 +1843,7 @@ declare module spine { padTop: string | number; padBottom: string | number; } - class SpinePlayer { + export class SpinePlayer { private config; parent: HTMLElement; dom: HTMLElement; @@ -1862,7 +1862,7 @@ declare module spine { private playTime; private selectedBones; private cancelId; - private lastPopup; + popup: Popup; error: boolean; skeleton: Skeleton; animationState: AnimationState; @@ -1888,12 +1888,24 @@ declare module spine { private calculateAnimationViewport; private drawFrame; stopRendering(): void; + private hidePopup; private showSpeedDialog; private showAnimationsDialog; private showSkinsDialog; private showSettingsDialog; private showError; } + class Popup { + private id; + private button; + private player; + dom: HTMLElement; + private className; + constructor(id: string, button: HTMLElement, player: SpinePlayer, parent: HTMLElement, htmlContent: string); + hide(id: string): boolean; + show(): void; + } + export {}; } declare function CodeMirror(el: Element, config: any): void; declare module spine { diff --git a/spine-ts/build/spine-all.js b/spine-ts/build/spine-all.js index 04b69b686..883557aa7 100644 --- a/spine-ts/build/spine-all.js +++ b/spine-ts/build/spine-all.js @@ -3702,7 +3702,7 @@ var spine; break; case spine.SpacingMode.Proportional: var sum = 0; - for (var i = 0; i < boneCount;) { + for (var i = 0, n = spacesCount - 1; i < n;) { var bone = bones[i]; var setupLength = bone.data.length; if (setupLength < PathConstraint.epsilon) { @@ -11796,7 +11796,7 @@ var spine; function ManagedWebGLRenderingContext(canvasOrContext, contextConfig) { if (contextConfig === void 0) { contextConfig = { alpha: "true" }; } this.restorables = new Array(); - if (!((canvasOrContext instanceof WebGLRenderingContext) || (canvasOrContext instanceof WebGL2RenderingContext))) + if (!((canvasOrContext instanceof WebGLRenderingContext) || (typeof WebGL2RenderingContext !== 'undefined' && canvasOrContext instanceof WebGL2RenderingContext))) this.setupCanvas(canvasOrContext, contextConfig); else { this.gl = canvasOrContext; @@ -12928,42 +12928,29 @@ var spine; SpinePlayer.prototype.stopRendering = function () { this.stopRequestAnimationFrame = true; }; + SpinePlayer.prototype.hidePopup = function (id) { + return this.popup && this.popup.hide(id); + }; SpinePlayer.prototype.showSpeedDialog = function (speedButton) { var _this = this; - if (this.lastPopup) { - this.lastPopup.dom.remove(); - if (findWithClass(this.lastPopup.dom, "spine-player-popup-title").textContent == "Speed") { - this.lastPopup = null; - speedButton.classList.remove("spine-player-button-icon-speed-selected"); - return; - } - } - var popup = new Popup(this.dom, this.playerControls, "\n
Speed
\n
\n
\n
\n\t
\n\t
0.1x
1x
2x
\n
\n
"); + var id = "speed"; + if (this.hidePopup(id)) + return; + var popup = new Popup(id, speedButton, this, this.playerControls, "\n
Speed
\n
\n
\n
\n\t
\n\t
0.1x
1x
2x
\n
\n
"); var slider = new Slider(2, 0.1, true); findWithClass(popup.dom, "spine-player-speed-slider").appendChild(slider.create()); slider.setValue(this.speed / 2); slider.change = function (percentage) { return _this.speed = percentage * 2; }; - speedButton.classList.add("spine-player-button-icon-speed-selected"); - popup.show(function () { - speedButton.classList.remove("spine-player-button-icon-speed-selected"); - popup.dom.remove(); - _this.lastPopup = null; - }); - this.lastPopup = popup; + popup.show(); }; SpinePlayer.prototype.showAnimationsDialog = function (animationsButton) { var _this = this; - if (this.lastPopup) { - this.lastPopup.dom.remove(); - if (findWithClass(this.lastPopup.dom, "spine-player-popup-title").textContent == "Animations") { - this.lastPopup = null; - animationsButton.classList.remove("spine-player-button-icon-animations-selected"); - return; - } - } + var id = "animations"; + if (this.hidePopup(id)) + return; if (!this.skeleton || !this.skeleton.data.animations.length) return; - var popup = new Popup(this.dom, this.playerControls, "
Animations

"); + var popup = new Popup(id, animationsButton, this, this.playerControls, "
Animations

"); var rows = findWithClass(popup.dom, "spine-player-list"); this.skeleton.data.animations.forEach(function (animation) { if (_this.config.animations && _this.config.animations.indexOf(animation.name) < 0) @@ -12982,27 +12969,16 @@ var spine; _this.play(); }; }); - animationsButton.classList.add("spine-player-button-icon-animations-selected"); - popup.show(function () { - animationsButton.classList.remove("spine-player-button-icon-animations-selected"); - popup.dom.remove(); - _this.lastPopup = null; - }); - this.lastPopup = popup; + popup.show(); }; SpinePlayer.prototype.showSkinsDialog = function (skinButton) { var _this = this; - if (this.lastPopup) { - this.lastPopup.dom.remove(); - if (findWithClass(this.lastPopup.dom, "spine-player-popup-title").textContent == "Skins") { - this.lastPopup = null; - skinButton.classList.remove("spine-player-button-icon-skins-selected"); - return; - } - } + var id = "skins"; + if (this.hidePopup(id)) + return; if (!this.skeleton || !this.skeleton.data.animations.length) return; - var popup = new Popup(this.dom, this.playerControls, "
Skins

"); + var popup = new Popup(id, skinButton, this, this.playerControls, "
Skins

"); var rows = findWithClass(popup.dom, "spine-player-list"); this.skeleton.data.skins.forEach(function (skin) { if (_this.config.skins && _this.config.skins.indexOf(skin.name) < 0) @@ -13020,27 +12996,16 @@ var spine; _this.skeleton.setSlotsToSetupPose(); }; }); - skinButton.classList.add("spine-player-button-icon-skins-selected"); - popup.show(function () { - skinButton.classList.remove("spine-player-button-icon-skins-selected"); - popup.dom.remove(); - _this.lastPopup = null; - }); - this.lastPopup = popup; + popup.show(); }; SpinePlayer.prototype.showSettingsDialog = function (settingsButton) { var _this = this; - if (this.lastPopup) { - this.lastPopup.dom.remove(); - if (findWithClass(this.lastPopup.dom, "spine-player-popup-title").textContent == "Debug") { - this.lastPopup = null; - settingsButton.classList.remove("spine-player-button-icon-settings-selected"); - return; - } - } + var id = "settings"; + if (this.hidePopup(id)) + return; if (!this.skeleton || !this.skeleton.data.animations.length) return; - var popup = new Popup(this.dom, this.playerControls, "
Debug